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处理PHP数组文本文件实例
Sep 18 Python
在Python中使用列表生成式的教程
Apr 27 Python
Python学习思维导图(必看篇)
Jun 26 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
Aug 15 Python
理解python中生成器用法
Dec 20 Python
用Python中的turtle模块画图两只小羊方法
Apr 09 Python
python修改字典键(key)的方法
Aug 05 Python
使用OpenCV实现仿射变换—旋转功能
Aug 29 Python
python树的同构学习笔记
Sep 14 Python
python 通过视频url获取视频的宽高方式
Dec 10 Python
python写文件时覆盖原来的实例方法
Jul 22 Python
Python绘图之柱形图绘制详解
Jul 28 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
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
2014/05/19 PHP
destoon文章模块调用企业会员资料的方法
2014/08/22 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
2016/05/31 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
2019/09/30 PHP
php桥接模式应用案例分析
2019/10/23 PHP
jQuery 使用手册(七)
2009/09/23 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
JS只能输入正整数的简单实例
2016/10/07 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
2017/02/14 Javascript
Angular4 中常用的指令入门总结
2017/06/12 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
react 中父组件与子组件双向绑定问题
2019/05/20 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
微信小程序实现可长按移动控件
2020/11/01 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
2020/11/04 Javascript
[08:29]DOTA2每周TOP10 精彩击杀集锦vol.7
2014/06/25 DOTA
Windows下PyCharm安装图文教程
2018/08/27 Python
Python之——生成动态路由轨迹图的实例
2019/11/22 Python
Python 输出详细的异常信息(traceback)方式
2020/04/08 Python
解决运行出现'dict' object has no attribute 'has_key'问题
2020/07/15 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
2020/12/09 Python
python爬虫智能翻页批量下载文件的实例详解
2021/02/02 Python
将SVG图引入到HTML页面的实现
2019/09/20 HTML / CSS
《假如》教学反思
2014/04/17 职场文书
大学生活动总结怎么写
2014/04/29 职场文书
英文演讲稿开场白
2014/08/25 职场文书
会议邀请函
2015/01/30 职场文书
政协工作总结2015
2015/05/20 职场文书
新生开学寄语大全
2015/05/28 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书