(亲测可用)Python 进行图像的多种格式批量转换:.tiff,.jpg,.png

这里 A格式转B格式。

为什么不能用PIL 读取tiff图像呢。

PIL支持单通道及多通道Uint8 TIFF图像读取,读取单通道Uint16 TIFF图像转为Uint8处理,直接读取Uint16 TIFF图像会报错。

这里使用python版的opencv读取图像,并保持。

上代码 tif---转---》bmp.   可以根据自己的需要的格式进行简要的修改格式

# 以tiff转jpg为例,其他格式同理,
# 代码中路径更改为自己图像存放路径即可

import os
import cv2 as cv2


imagesDirectory = r"C:\Users\***\voc_make\test"  # tiff图片所在文件夹路径
distDirectory = os.path.dirname(imagesDirectory)# 

distDirectory = os.path.join(distDirectory, "bmpImages")# 要存放bmp格式的文件夹路径
print(distDirectory)

for imageName in os.listdir(imagesDirectory):
    print("imageName", imageName)
    imagePath = os.path.join(imagesDirectory, imageName)
    print("imagePath", imagePath)
    img = cv2.imread(imagePath)
    try:
        img.shape
    except:
        print('读取图片失败')
        break

    print("imageName.split('.')[0]", imageName.split('.')[0])
    distImagePath = os.path.join(distDirectory, imageName.split('.')[0]+'.bmp')# 更改图像后缀为.jpg,并保证与原图像同名
    print("distImagePath", distImagePath)
    cv2.imwrite(distImagePath, img)

要记得在tif文件的同一路径下创建bmp文件夹

把路径该正确。

如下图

(亲测可用)Python 进行图像的多种格式批量转换:.tiff,.jpg,.png_第1张图片

你可能感兴趣的:(python,python,opencv,计算机视觉)