zoukankan      html  css  js  c++  java
  • opencv中使用imread()读入的图像,始终为显示为8位深度

      最近用opencv做中心线提取,保存的为16bit深度的灰度图片,但使用imread()读入的图像都是8bit的GBR图像。

    造成这个问题的原因主要还是自己没有仔细阅读API函数的参数说明。

    1 imread()参数说明
    2   cv2.IMREAD_UNCHANGED = -1, //返回原通道原深度图像
    3   cv2.IMREAD_GRAYSCALE = 0, //返回单通道(灰度),8位图像
    4   cv2.IMREAD_COLOR = 1, //返回三通道,8位图像,为默认参数
    5   cv2.IMREAD_ANYDEPTH = 2, //返回单通道图像。如果原图像深度为16/32 位,则返回原深度,否则转换为8位
    6   cv2.IMREAD_ANYCOLOR = 4, //返回原通道,8位图像。

      所以在导入图像路径后,后一个参数要说明导入图像的类型。选择cv2.IMREAD_ANYDEPTH/2作为第二个参数,

    就能够返回原来保存的图片的深度。

  • 相关阅读:
    函数对象
    函数的基本使用
    文件处理
    字符编码
    基本数据类型及内置方法二
    流程控制(if while for)
    Django中ajax的基本用法
    CBV之Django中View类部分源码分析
    前端基础之BOM和DOM
    css基础
  • 原文地址:https://www.cnblogs.com/pangshian/p/13744803.html
Copyright © 2011-2022 走看看