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


Posted in Python onJuly 09, 2020

经常看到有人在网上询问关于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()函数读取图片的六种正确姿势 

到此这篇关于OpenCV 使用imread()函数读取图片的六种正确姿势的文章就介绍到这了,更多相关OpenCV imread()读取图片内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
详细讲解Python中的文件I/O操作
May 24 Python
matplotlib在python上绘制3D散点图实例详解
Dec 09 Python
基于Python log 的正确打开方式
Apr 28 Python
Django 连接sql server数据库的方法
Jun 30 Python
pandas ix &amp;iloc &amp;loc的区别
Jan 10 Python
Python实现线性插值和三次样条插值的示例代码
Nov 13 Python
python主线程与子线程的结束顺序实例解析
Dec 17 Python
Python利用PyPDF2库获取PDF文件总页码实例
Apr 03 Python
Pycharm修改python路径过程图解
May 22 Python
Python建造者模式案例运行原理解析
Jun 29 Python
pycharm 复制代码出现空格的解决方式
Jan 15 Python
python中opencv实现图片文本倾斜校正
Jun 11 Python
django模型类中,null=True,blank=True用法说明
Jul 09 #Python
Python pip安装第三方库实现过程解析
Jul 09 #Python
详细分析Python可变对象和不可变对象
Jul 09 #Python
OpenCV4.1.0+VS2017环境配置的方法步骤
Jul 09 #Python
详解Python直接赋值,深拷贝和浅拷贝
Jul 09 #Python
使用python实现下载我们想听的歌曲,速度超快
Jul 09 #Python
Python selenium模块实现定位过程解析
Jul 09 #Python
You might like
php获取客户端IP及URL的方法示例
2017/02/03 PHP
JavaScript对象链式操作代码(jquery)
2010/07/04 Javascript
基于jquery的模态div层弹出效果
2010/08/21 Javascript
JavaScript字符串插入、删除、替换函数使用示例
2013/07/25 Javascript
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
JavaScript代码实现图片循环滚动效果
2020/03/19 Javascript
js在ie下打开对话窗口的方法小结
2016/10/24 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
2017/01/12 Javascript
jquery获取select,option所有的value和text的实例
2017/03/06 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
2017/07/27 Javascript
angular中如何绑定iframe中src的方法
2019/02/01 Javascript
原生JS实现随机点名项目的实例代码
2019/04/30 Javascript
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
Vue微信公众号网页分享的示例代码
2020/05/28 Javascript
vue 组件间的通信之子组件向父组件传值的方式
2020/07/29 Javascript
微信小程序实现签到弹窗动画
2020/09/21 Javascript
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python中的五种异常处理机制介绍
2014/09/02 Python
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
Python中的变量和作用域详解
2016/07/13 Python
Python 3中的yield from语法详解
2017/01/18 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
Pandas+Matplotlib 箱式图异常值分析示例
2019/12/09 Python
CSS3动画效果回调处理详解
2014/12/10 HTML / CSS
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
AmazeUI折叠式卡片布局,整合内容列表、表格组件实现
2020/08/20 HTML / CSS
医学生临床实习自我评价
2014/03/07 职场文书
《他得的红圈圈最多》教学反思
2014/04/24 职场文书
我爱家乡演讲稿
2014/09/12 职场文书
商家认证委托书格式
2014/10/16 职场文书
八一建军节主持词
2015/07/01 职场文书
高中政治教学反思
2016/02/23 职场文书