python批量处理

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值