opencv中imread第二个参数的含义「建议收藏」

opencv中imread第二个参数的含义「建议收藏」文档中是这么写的:Flagsspecifyingthecolortypeofaloadedimage:CV_LOAD_IMAGE_ANYDEPTH-Ifset,return16-bit/32-bitimagewhentheinputhasthecorrespondingdepth,otherwiseconvertitto8-bit

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

文档中是这么写的:

Flags specifying the color type of a loaded image:

  • CV_LOAD_IMAGE_ANYDEPTH – If set, return 16-bit/32-bit image when the input has the corresponding depth, otherwise convert it to 8-bit.
  • CV_LOAD_IMAGE_COLOR – If set, always convert image to the color one
  • CV_LOAD_IMAGE_GRAYSCALE – If set, always convert image to the grayscale one
  • >0 Return a 3-channel color image.

    Note

    In the current implementation the alpha channel, if any, is stripped from the output image. Use negative value if you need the alpha channel.

  • =0 Return a grayscale image.
  • <0 Return the loaded image as is (with alpha channel).

大致翻译一下:

Flags指定了所读取图片的颜色类型

CV_LOAD_IMAGE_ANYDEPTH返回图像的深度不变。

CV_LOAD_IMAGE_COLOR总是返回一个彩色图。

CV_LOAD_IMAGE_GRAYSCALE总是返回一个灰度图。

>0返回3通道彩色图

注意:alpha 通道将被忽略,如果需要alpha 通道,请使用负值

=0返回灰度图

<0返回原图(带alpha 通道

我觉得这里最大的问题就是一会说深度,一会说通道数,两个问题都没有说明白。

实测,当读取一副黑白图时,如果使用Flags=2(CV_LOAD_IMAGE_ANYDEPTH),此时Flags>0,得到的仍是黑白图而不是彩色图。其它的值,如1,3,4等均是彩色。

所以我觉得第一句话应该改为  CV_LOAD_IMAGE_ANYDEPTH返回图像原有的深度,但是通道数变为1,这是Flags>0中的特例

在源码中可以看到

opencv中imread第二个参数的含义「建议收藏」

opencv中imread第二个参数的含义「建议收藏」

自己测了一下,然后总结如下:

flag=-1时,8位深度,原通道

flag=0,8位深度,1通道

flag=1,   8位深度  ,3通道

flag=2,原深度,1通道

flag=3,  原深度,3通道

flag=4,8位深度 ,3通道

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183358.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python常用模块大全_python 常用库

    python常用模块大全_python 常用库mathmath.ceil(a):用来返回≥a的最小整数math.floor(a):用来返回≤a的最大整数round(a[,b])如果没有参数b,只有a,round()作用是四舍五入如果

    2022年8月6日
    2
  • 包裹侠快递单号怎么查询_包裹侠发短信让取快递

    包裹侠快递单号怎么查询_包裹侠发短信让取快递包裹侠快递查询时间:2020-03-04T16:02:28最近,我收到了一个奇怪的包裹。就在星期一的早上,我像往常一样打开大门要拿当天的早报时,发现一个方形的小纸箱孤零零地放在早报上,让我想不注意都不行。没有来信地址、没有署名,有关寄件人的资料一概空白。我惟一能知道的,就是这个包裹指名要寄给我最近,我收到了一个奇怪的包裹。就在星期一的早上,我像往常一样打开大门要拿当天的早报时,发现一个方形的小纸箱…

    2025年6月14日
    1
  • python快捷键的使用

    python快捷键的使用

    2021年5月17日
    123
  • strcmp函数的使用_用c语言实现strcmp

    strcmp函数的使用_用c语言实现strcmpAction(){/**********************************Author:旺仔*object:strcmp*date:2015-12-09*fuc:我输

    2022年8月3日
    3
  • 一点就分享系列(实践篇3-上篇)— 修改YOLOV5 之”魔刀小试“+ Trick心得分享+V5精髓部分源码解读

    一点就分享系列(实践篇3-上篇)— 修改YOLOV5 之”魔刀小试“+ Trick心得分享+V5精髓部分源码解读一点就分享系列(实践篇3—上篇)—“全网首发”正确手法修改YOLOV5魔刀小试+Trick心得分享现在部署大热,而我觉得回归原理和源码更加重要!在检测领域YOLOV5肯定是大家的炼丹必备模型,收敛快,精度高都是其爱不释手的理由,各种魔改基础backone或者别的trcik也层出不穷,这里我自己针对V5的head添加了ASFF自适应的特征融合检测层,分享下,也顺手告诉大家如何以正规的手法去修改YOLOV5的网络结构!文章目录一点就分享系列(实践篇3—上篇)—“全网首发”正确手法修改YOLOV5

    2022年5月23日
    39
  • sql调用存储过程exec用法_sqlserver存储过程执行日志

    sql调用存储过程exec用法_sqlserver存储过程执行日志一、【存储过程】存储过程的T-SQL语句编译以后可多次执行,由于T-SQL语句不需要重新编译,所以执行存储过程可以 提高性能。存储过程具有以下特点:• 存储过程已在服务器上存储• 存储过程具有安全特性• 存储过程允许模块化程序设计• 存储过程可以减少网络通信流量• 存储过程可以提高运行速度 存储过程分为用户存储过程、系统存储过程和扩展存储过程。存储过程Procedure是一组为了完成…

    2022年8月18日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号