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 UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
Apr 24 Python
python实现将汉字转换成汉语拼音的库
May 05 Python
浅述python中argsort()函数的实例用法
Mar 30 Python
Python语言生成水仙花数代码示例
Dec 18 Python
python+selenium识别验证码并登录的示例代码
Dec 21 Python
Python管理Windows服务小脚本
Mar 12 Python
python如何生成各种随机分布图
Aug 27 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
Jan 15 Python
Python实现Selenium自动化Page模式
Jul 14 Python
Python获取一个用户名的组ID过程解析
Sep 03 Python
基于selenium及python实现下拉选项定位select
Jul 22 Python
pyspark对Mysql数据库进行读写的实现
Dec 30 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返回json数据函数实例
2014/10/09 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
php访问数组最后一个元素的函数end()用法
2015/03/18 PHP
Yii框架常见缓存应用实例小结
2019/09/09 PHP
JS 获取span标签中的值的代码 支持ie与firefox
2009/08/24 Javascript
jquery 插件学习(一)
2012/08/06 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
2014/08/08 Javascript
分享十五款 jQuery 社交网络分享插件
2015/05/16 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
第一次接触神奇的Bootstrap
2016/10/14 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
Vue-cli 使用json server在本地模拟请求数据的示例代码
2017/11/02 Javascript
JS点击动态添加标签、删除指定标签的代码
2018/04/18 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
[02:33]2018DOTA2亚洲邀请赛赛前采访——LGD
2018/04/04 DOTA
[51:53]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第二场 1月24日
2021/03/11 DOTA
python正则表达式去掉数字中的逗号(python正则匹配逗号)
2013/12/25 Python
Python实现通讯录功能
2018/02/22 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
Python csv文件的读写操作实例详解
2019/11/19 Python
python3 sorted 如何实现自定义排序标准
2020/03/12 Python
详解Python中的编码问题(encoding与decode、str与bytes)
2020/09/30 Python
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
UNIX文件名称有什么规定
2013/03/25 面试题
给孩子的新年寄语
2014/04/08 职场文书
车辆转让协议书
2014/09/24 职场文书
2014年学生会生活部工作总结
2014/11/07 职场文书
英文版辞职信
2015/02/28 职场文书
2015年社区中秋节活动总结
2015/03/23 职场文书
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技