from skimage import data_dir,io,transform,color,filtersimport numpy as npimport cv2def 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
import osdef 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/")#文件夹路径
#批量创建文件夹import osdef 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/")
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 breakdef 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)
联系客服