分享

python批量处理

 大傻子的文渊阁 2019-12-02

python opencv图像二值化批量处理

from skimage import data_dir,io,transform,color,filters
import numpy as np
import cv2

def convert_gray(f):
     rgb=io.imread(f)    #依次读取rgb图片
     #gray=filters.gaussian(rgb, sigma=1, output=None, mode='nearest', cval=0, multichannel=None, preserve_range=False, truncate=4.0)   
     #高斯
     #dst=transform.resize(gray,(1920,1080))  #将灰度图片大小转换为256*256
     gray = cv2.cvtColor(rgb,cv2.COLOR_RGB2GRAY)   #要二值化图像,要先进行灰度化处理
    #全局阈值
     #ret, binary = cv2.threshold(gray,0,255,cv2.THRESH_BINARY | cv2.THRESH_OTSU) #全局阈值使用THRESH_OTSU大津法
     #ret, binary = cv2.threshold(gray,127,255,cv2.THRESH_BINARY_INV) #自己指定阈值 THRESH_BINARY_INV大于阈值的都为0
     #ret, binary = cv2.threshold(gray,80,255,cv2.THRESH_BINARY) #自己指定阈值 THRESH_BINARY
    #局部阈值
     #binary = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,25,10) #局部阈值
     binary = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,25,10)
     return binary

#print(data_dir)  #skimage data路径
#str=data_dir+'/*.jpg'
str='I:/V2/*.jpg'
coll = io.ImageCollection(str,load_func=convert_gray)
for i in range(len(coll)):
    io.imsave('I:/c2/'+np.str(i)+'.jpg',coll[i])  #循环保存图片

参考
图像批量处理https://blog.csdn.net/forever0_0love/article/details/80058738
图像二值化https://www.cnblogs.com/ssyfj/p/9272615.html

python 文件批量命名

import os

def read_directory(directory_name):
    print(len(os.listdir(directory_name)))
    for filename,i in zip(os.listdir(directory_name),range(0,len(os.listdir(directory_name)))):
        os.rename(directory_name + "/" + filename,directory_name + "/" + 'left'+str(i)+'.tif')
read_directory("C:/Users/a1253/Desktop/pytorch/opencv/image/resource/imgleft/")#文件夹路径

python 批量创建文件夹

#批量创建文件夹
import os
def read_directory(directory_name):
    print(len(os.listdir(directory_name)))
    for filename,i in zip(os.listdir(directory_name),range(0,len(os.listdir(directory_name)))):
        os.mkdir(directory_name + "/" + 'left'+str(i))
read_directory("C:/Users/a1253/Desktop/pytorch/opencv/image/resource/imgleft/")

python 批量处理多文件夹下文件命名

import os  
dirs = []
def file_name(file_dir,dir):   #获取文件夹下文件夹列表
    for root, dirs, files in os.walk(file_dir): 
        dir = dirs
#         print(root) #当前目录路径        
#         print(dirs) #当前路径下所有子目录  
#         print(files) #当前路径下所有非目录子文件
        return dir
        break
def rename_directory(directory_name,dir): #对各文件夹下文件重命名
    k = directory_name
    for i in dir:
        directory_name = k  + str(i) + "/"
        for filename,j in zip(os.listdir(directory_name),range(0,len(os.listdir(directory_name)))):
            os.rename(directory_name + "/" + filename, directory_name + "/" + str(i) + '_'+ str(j) + '.png')
dirs = file_name('C:/Users/a1253/Desktop/pytorch/opencv/image/resource/imgleft/', dirs)
rename_directory("C:/Users/a1253/Desktop/pytorch/opencv/image/resource/imgleft/", dirs)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多