Python读取TIFF多通道图像
Posted The Code Ocean
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python读取TIFF多通道图像相关的知识,希望对你有一定的参考价值。
1.PIL
from PIL import Image im = Image.open("filename")
支持单通道及多通道Uint8 TIFF图像读取,读取单通道Uint16 TIFF图像转为Uint8处理,直接读取Uint16 TIFF多通道图像出错,错误信息:
2.OpenCV
import cv2 cv2.imread("filename",flags)
对于cv2,imread的关于通道数和位深的flags有四种选择:
IMREAD_UNCHANGED = -1#不进行转化,比如保存为了16位的图片,读取出来仍然为16位。 IMREAD_GRAYSCALE = 0#进行转化为灰度图,比如保存为了16位的图片,读取出来为8位,类型为CV_8UC1。 IMREAD_COLOR = 1#进行转化为RGB三通道图像,图像深度转为8位 IMREAD_ANYDEPTH = 2#保持图像深度不变,进行转化为灰度图。 IMREAD_ANYCOLOR = 4#若图像通道数小于等于3,则保持原通道数不变;若通道数大于3则只取取前三个通道。图像深度转为8位
对于多通道TIFF图像,若要保证图像数据的正常读取,显然要选择IMREAD_UNCHANGED作为imread的flags设置值。
*未完待续
以上是关于Python读取TIFF多通道图像的主要内容,如果未能解决你的问题,请参考以下文章
GDAL:Python GDAL.Translate可以将TIFF文件转换为JPEG或PNG数组 - 而不是写入文件吗?