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)
上一篇 2022年10月10日 下午10:46
下一篇 2022年10月10日 下午11:00


相关推荐

  • istio简介和基础组件原理(服务网格Service Mesh)

    Istio简介Istio:一个连接,管理和保护微服务的开放平台。按照isito文档中给出的定义:Istio提供一种简单的方式来建立已部署的服务的网络,具备负载均衡,服务到服务认证,监控等等功能,而不需要改动任何服务代码。简单的说,有了Istio,你的服务就不再需要任何微服务开发框架(典型如SpringCloud,Dubbo),也不再需要自己手动实现各种复杂的服务…

    2022年4月4日
    58
  • 2022年 maven配置阿里云仓库配置

    2022年 maven配置阿里云仓库配置maven 配置 https 阿里云仓库配置

    2026年3月20日
    2
  • KNIME学习记录

    KNIME学习记录KNIME 的介绍 KNIME 的按钮说明 KNIME 的例子 KNIME 的注意事项 KNIME 的介绍 KNIME 发音为 naim 就是用 k 就像 knife 一样 它由康斯坦茨大学的 MichaelBerth 小组开发 KNIME 系统是基于 Eclipse 开发环境来精心开发的数据挖掘工具 无需安装 方便使用 KNIME 也是用 Java 开发的 可以扩展使用

    2026年3月19日
    3
  • Pycharm安装jupyter notebook无法在SciView查看变量

    Pycharm安装jupyter notebook无法在SciView查看变量Pycharm执行jupyter项目时,会提醒笔记本内核与项目内核不匹配,如下图:若点击右上角将项目内核注册为内核,那么jupyter将会使用新的内核,此时执行cell,将会显示如下图:解决方法:Pycharm正上方内核选择PYTHON3点击左上角文件设置搜索jupyter,将红色上方框去掉勾选再次运行,显示变量注意:若没有将项目内核注册为内核,直接勾选不检查就可行…

    2022年8月28日
    3
  • sql prompt工具

    sql prompt工具SQLPrompt是一款拥有SQL智能提示功能和格式化Sql代码插件。可用于的SQLServer和VS。SQLPrompt能根据数据库的对象名称,语法和用户编写的代码片段自动进行检索,智能的为

    2022年7月1日
    35
  • SQL内连接与外连接

    SQL内连接与外连接概述 1 内联接 典型的联接运算 使用像 或内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行 例如 检索 students 和 courses 表中学生标识号相同的所有行 2 外联接 外联接可以是左向外联接 右向外联接或完整外部联接 在 FROM 子句中指定外联接时 可以由下列几组关键字中的一组指定 1 LEFTJOIN 或 LEFTOUTERJOI 左

    2026年3月26日
    2

发表回复

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

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