zoukankan      html  css  js  c++  java
  • 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设置值。

    *未完待续

  • 相关阅读:
    HOWTO re
    数据类型
    字符串
    最大公约数
    this
    tip 2:找最小公倍数之Boost
    tip 1:一个简单的将int型转换成char的方法
    Item47
    成员函数模板
    item44:将与参数无关的代码抽离template
  • 原文地址:https://www.cnblogs.com/goushibao/p/6671079.html
Copyright © 2011-2022 走看看