OpenCV 使用imread()函数读取图片的六种正确姿势

作者:冰不语 时间:2021-07-22 13:01:28 

经常看到有人在网上询问关于imread()函数读取图片失败的问题。今天心血来潮,经过实验,总结出imread()调用的四种正确姿势。

通常我要获取一张图片的绝对路径是这样做的:在图片上右键——属性——安全——对象名称。然后复制对象名称就得到了图片的绝对路径。

如图:

OpenCV 使用imread()函数读取图片的六种正确姿势

然而这样得到的路径直接复制粘贴到vs里面会直接报错,如下:

OpenCV 使用imread()函数读取图片的六种正确姿势

可以看出我们获取的绝对路径的表示方法是单右斜线形式的。显然opencv的imread()不支持这种方式。但是!!!经过实验发现imread()除了不支持单右斜线形式,其他斜线形式都支持!!!比如双右斜线形式、双左斜线形式、单左斜线形式、前述三种斜线混合型式都是支持的!!我想知道为什么??

看图,下面的六种方式任何一种都是支持的,都可以成功读取并显示图片。

OpenCV 使用imread()函数读取图片的六种正确姿势

我个人经常用的方法是第5种,相对路径法。只需要把图像文件放在工程文件夹下和.cpp文件放在一起就行了,读取的时候就可以直接用名字读取,如imread("miao.jpg");

最后一种命令行参数法是源码中比较常见的。设置方法是:

工程——属性——配置属性——调试——命令行参数,然后设置就行了。如图:

OpenCV 使用imread()函数读取图片的六种正确姿势

设置之后miao.jpg就是argv[1],2.jpg就是argv[2]。

这次的完整代码如下(路径因人而异的):


#include<opencv2\opencv.hpp>

using namespace cv;

int main(int argc,char* argv[])
{
Mat img;

//-- 1 --双右斜线法
//string imgpath = "C:\\Users\\bingbuyu\\Pictures\\photo\\miao1.jpg";
//-- 2 --双左斜线法
//string imgpath = "C://Users//bingbuyu//Pictures//photo//miao1.jpg";
//-- 3 --单左斜线法
//string imgpath = "C:/Users/bingbuyu/Pictures/photo/miao1.jpg";
//-- 4 --以上三种混合法
//string imgpath = "C:/Users//bingbuyu\\Pictures//photo//miao1.jpg";
//-- 5 --相对路径法
//string imgpath = "miao.jpg";
//-- 6 --命令行参数法
string imgpath = argv[1];

img = imread(imgpath, 1);
imshow("img", img);

waitKey(0);
return 0;
}

以上六种的运行结果,还是这只喵:

OpenCV 使用imread()函数读取图片的六种正确姿势 

来源:https://blog.csdn.net/xingchenbingbuyu/article/details/51375078

标签:OpenCV,imread(),读取图片
0
投稿

猜你喜欢

  • Python 列表反转显示的四种方法

    2021-07-21 02:41:31
  • Python使用Opencv实现边缘检测以及轮廓检测的实现

    2022-03-06 02:19:18
  • python中的[1:]、[::-1]、X[:,m:n]和X[1,:]的使用

    2023-12-10 00:48:42
  • 群组功能和用户沟通

    2009-07-19 14:07:00
  • python中list循环语句用法实例

    2022-09-12 15:08:05
  • 从一个项目中来看三层架构

    2008-08-06 12:50:00
  • Python机器学习库scikit-learn入门开发示例

    2022-10-15 11:40:24
  • 交互设计实用指南系列(1) – “有效性”之“操作入口明确”

    2009-12-11 18:42:00
  • 解析pandas apply() 函数用法(推荐)

    2022-09-02 15:10:09
  • python数据可视化之matplotlib.pyplot基础以及折线图

    2023-03-04 22:10:01
  • 解析:怎样在MySQL中获得更好的搜索结果

    2008-11-27 15:19:00
  • Matplotlib中%matplotlib inline如何使用

    2021-11-22 15:17:41
  • Python编程OpenCV和Numpy图像处理库实现图片去水印

    2023-10-10 15:12:44
  • 最新的关键SQL Server漏洞已被微软证实

    2009-03-16 14:31:00
  • Python基础 while循环与break、continue关键字

    2023-11-19 03:41:42
  • python游戏实战项目之童年经典超级玛丽

    2022-10-01 08:16:34
  • PHP bin2hex()函数基础实例讲解

    2023-06-12 16:30:44
  • python实现隐马尔科夫模型HMM

    2023-05-05 13:33:57
  • Python 利用base64库 解码本地txt文本字符串

    2021-01-13 14:33:58
  • SQL Server 安装出错:以前的某个程序安装已在安装计算机上创建挂起的文件操作

    2010-02-23 14:48:00
  • asp之家 网络编程 m.aspxhome.com