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

博客讲述了在处理Tiff图像时遇到的问题,即PIL库无法直接读取Uint16类型的Tiff图像。文章提供了一个使用Python的OpenCV库来读取和转换Tiff图像到其他格式(如Bmp)的代码示例。通过这段代码,可以在指定目录下将Tiff图像批量转换为Bmp格式,并保存在同一路径的子文件夹中。
2395

被折叠的 条评论
为什么被折叠?



