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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • InetAddress类[通俗易懂]

    InetAddress类[通俗易懂]基本概念1.InetAddress位于java.net包下2.InetAddress用来代表一个IP地址,一个InetAddress对象就代表着一个IP地址3.实例化InetAddress的方法是:调用InetAddress.getByName(Stringhost);4.获取IP对应的域名:用InetAddress的实例化对象调用getHostName();5.获取IP的地址:用In…

    2022年6月23日
  • route add命令实例_cmd route

    route add命令实例_cmd route命令作用routeadd添加路由delete删除路由change更改现有路由print打印路由删除静态路由地址routedelete130.0.0.0mask255.0.0.0添加静态路由地址routeadd130.0.0.0MASK255.0.0.0134.32.80.1METRIC10意思是:所有需要发往130.0.0.0地址段的IP数据包,全部由路径134.32.80.1转发其中,路由跳数是可以省略的参数当通往…

    2022年8月12日
  • 小程序面试题及答案2019_小程序面试问的技术点

    小程序面试题及答案2019_小程序面试问的技术点文档描述本文是关注微信小程序的开发和面试问题,由基础到困难循序渐进,适合面试和开发小程序。并有热点框架(vuereactnode.js全栈)前端资源以及后端视频资源和源码并基于前端进阶和面试的需求总结了常用插件和js算法以及html/css和js热点面试题因为csdn不可以有外链所以答案链接在评论区!!!Vue面试题生命周期函数面试题1.什么是…

    2022年8月29日
  • **解决mysql 1045拒绝登陆的问题**

    **解决mysql 1045拒绝登陆的问题**解决mysql1045拒绝登陆的问题当你登录MySQL数据库出现:Error1045错误时(如下图),就表明你输入的用户名或密码错误被拒绝访问了,最简单的解决方法就是将MySQL数据库卸载然后重装,但这样的缺点就是就以前的数据库中的信息将丢失,如果你不想重装,那么就需要找回密码或者重置密码。解决的方法应该有多种,这里我推荐大家使用一种原理通过,操作简单的方法,适用于windows以及linux平

    2022年5月2日
  • Tomcat报错—Tomcat内存溢出及大小调整

    本文记录一些常见的Tomcat经常出现的内存溢出问题,在查询大量数据和加载jar包出现异常。

    2022年2月24日
  • Linux多线程编程小结

    Linux多线程编程小结

    2021年12月2日

发表回复

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

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