opencv之imread函数

这篇具有很好参考价值的文章主要介绍了opencv之imread函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原型:Mat imread( const String& filename, int flags );

参数1:文件名路径

参数2:载入标识;它指定一个加载图像的类型;默认为1;

 flags 取值:可以是以下枚举类型:

enum
{
/* 新版本中已经倍废置 */
    CV_LOAD_IMAGE_UNCHANGED  =-1,

/* 始终将图像转成灰度再返回*/
    CV_LOAD_IMAGE_GRAYSCALE  =0,

/* 转换图像到彩色再返回 */
    CV_LOAD_IMAGE_COLOR      =1,

/* 取该标识且载入的图像深度为16或32位,就返回对应深度的图像,否则,转换为8位图像再返回;*/
    CV_LOAD_IMAGE_ANYDEPTH   =2,

/* ?, any color */
    CV_LOAD_IMAGE_ANYCOLOR   =4,

/* ?, no rotate */
    CV_LOAD_IMAGE_IGNORE_ORIENTATION  =128
};

(1) 输入有冲突情况,如CV_LOAD_IMAGE_COLOR  | CV_LOAD_IMAGE_ANYCOLOR 时,将采用较小的数字值,将载入3通道图;

(2) 若希望载入最真实的图,选择CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR ;

(3) 由于flag是int型变量,故有:

flag > 0 返回一个3通道的彩色图像;

flag = 0 返回灰色图像;

flag < 0 返回包含Alpha通道的加载图像;

代码举例:

(a) 载入最真实的图

Mat lena= imread("./lena.jpg", CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR) ;

imwrite("/mnt/hgfs/Vmshare/lena-origin.jpg" , lena) ;
opencv之imread函数
lena-origin.jpg

 (b) 图像转为灰度图形式加载

Mat lena= imread("./lena.jpg", CV_LOAD_IMAGE_GRAYSCALE ) ;
imwrite("/mnt/hgfs/Vmshare/lena-gray.jpg" , lena) ;
opencv之imread函数
lena-gray.jpg

 文章来源地址https://www.toymoban.com/news/detail-489116.html

到了这里,关于opencv之imread函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • opencv imread图像读取不成功

    不论是imread读取相对路径还是绝对路径,如果imread读取不成功,显示Nnoe,很有可能是你的路径名字中含有中文,检查你的路径中是否含有中文,有的话将其改为英文。 在Python中,使用绝对路径时,通常需要在路径字符串中使用反斜杠()来分隔目录和文件名。但需要注意的是

    2024年02月08日
    浏览(38)
  • cv::imread()函数

    2024年02月07日
    浏览(25)
  • OpenCV使用imread读取图片失败解决方案

    使用一下代码读取图像,出现[ WARN:0@1.635] global D:aopencv-pythonopencv-pythonopencvmodulesimgcodecssrcloadsave.cpp (239) cv::findDecoder imread_(‘D:.jpg’): can’t open/read file 报错信息 原因是使用绝对路径时“”要换成“\\\\” 导入成功

    2024年02月11日
    浏览(58)
  • C++-opencv的imread、imshow、waitkey、namedWindow

    在C++中使用OpenCV时, imread 和 imshow 是两个非常基础且常用的函数,用于读取图像和显示图像。以下是这两个函数的简要说明和如何一起使用它们的示例。 imread 用于从指定的文件路径读取图像。它将图像读入为 cv::Mat 对象,这是OpenCV中存储图像的主要数据结构。 filename:图像

    2024年02月19日
    浏览(29)
  • opencv的cv2.imread解决中文路径问题

    cv2.imread()读取不了中文路径,但是cv2.imdecode可以解码 拓展: cv2.imdecode(…)/cv2.imencode(…)传入参数为包含图像文件内容的内存buffer,为整个文件的内容,包含格式说明、图像数据等等,并非只有图像像素数据。 语法如下: 1 imdecode(buf, flags)        buf: 包含图像文件的buffer  

    2024年04月12日
    浏览(34)
  • 【OpenCV】关于OpenCV中imread/imwrite/imshow/cvtColor等 Api的简单描述和使用

    01、imread 官方定义 imread函数是OpenCV中的一个函数,用于从文件中读取图像。该函数支持读取多种图像格式,包括BMP、JPEG、PNG、TIF等常见格式。 tips: 注意这里imread函数加载的是8bit 图像 示例 02、imwrite 官方定义 imwrite函数是OpenCV中的一个函数,用于将图像写入文件中。该函数支

    2024年02月11日
    浏览(36)
  • 解决python调用opencv时出现cannot find reference ‘imread‘ in __init__ 即cv.imread 未定义引用

    今天终于找到调用cv2未解析的解决办法了,几乎是把全网大多数方式都试了下,总的来说大致有三种原因: 一个是版本不匹配,python的版本和库文件的需求有出入导致无法使用。 一个是不同版本不兼容,下载过多个python版本可能导致这个问题 。 一个是路径设置,这可能不

    2024年02月08日
    浏览(58)
  • 解决 undefined reference to cv::imread(std::__cxx11::basic_string<char, std::char_traits<char>,....

    在使用opencv时候可能会遇到 undefined reference to cv::imread(std::__cxx11::basic_stringchar, std::char_traitschar, std::allocatorchar const, int)\\\' 其主旨原因是使用的函数版本和引用的库函数版本不一至,要确保使用的函数和引用的库函数版本一致。 1、如何知道函数版本和引用的是否一样 1.1使用nm对

    2024年02月11日
    浏览(48)
  • opencv导入图片时,cv2后面无法添加imread的问题的解决方法

    当使用cv2导入图片的时候,发现cv2.imread()被标明高亮,无法使用imread,resize等方法  针对这个问题,解决方法如下: 首先在我们的Python安装路径下面找到cv2(安装anaconda的也是如此,找到相应路径),    在这里可以看到一个.pyd文件,将这个文件直接复制到site-packages路径

    2024年02月11日
    浏览(52)
  • 报错opencv Cannot find reference ‘imread‘ in ‘__init__.py‘,可以运行,但无法调用opencv算法

    测试代码为: 有问题的部分为: 灰色部分均为 Cannot find reference in \\\'__init__.py\\\'的报错,但程序可以运行并显示图片。 Cannot find reference ‘imread‘ in ‘__init__.py | __init__.py‘ http://t.csdn.cn/OEaoE 按照该文方法,修改至版本为 4.5.3.56,可以解决问题。但运行环境的opencv版本已经是 4

    2024年02月08日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包