这里 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文件夹
把路径该正确。
如下图