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实现文件名批量替换和内容替换
Mar 20 Python
python之文件的读写和文件目录以及文件夹的操作实现代码
Aug 28 Python
解决pip install的时候报错timed out的问题
Jun 12 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
Dec 04 Python
使用celery执行Django串行异步任务的方法步骤
Jun 06 Python
PyQt5实现暗黑风格的计时器
Jul 29 Python
python第三方库学习笔记
Feb 07 Python
python 工具 字符串转numpy浮点数组的实现
Mar 14 Python
Python3 中sorted() 函数的用法
Mar 24 Python
解决django 向mysql中写入中文字符出错的问题
May 18 Python
Python 使用双重循环打印图形菱形操作
Aug 09 Python
详解numpy1.19.4与python3.9版本冲突解决
Dec 15 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小偷相关截取函数备忘
2010/11/28 PHP
php的chr和ord函数实现字符加减乘除运算实现代码
2011/12/05 PHP
php启用sphinx全文搜索的实现方法
2014/12/24 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
2017/02/24 PHP
phpstudy后门rce批量利用脚本的实现
2019/12/12 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
JQuery 自定义CircleAnimation,Animate方法学习笔记
2011/07/10 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
自定义jQuery选项卡插件实例
2013/03/27 Javascript
jQuery 选择器详解
2015/01/19 Javascript
使用console进行性能测试
2015/04/27 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
2016/10/10 Javascript
详解用webpack2.0构建vue2.0超详细精简版
2017/04/05 Javascript
jQuery实现按比例缩放图片的方法
2017/04/29 jQuery
使用Vue开发自己的Chrome扩展程序过程详解
2019/06/21 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
javascript+Canvas实现画板功能
2020/06/23 Javascript
[51:44]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第二场
2018/04/04 DOTA
Python open()文件处理使用介绍
2014/11/30 Python
python 队列详解及实例代码
2016/10/18 Python
python3实现mysql导出excel的方法
2019/07/31 Python
python创建与遍历List二维列表的方法
2019/08/16 Python
Python如何使用正则表达式爬取京东商品信息
2020/06/01 Python
python Yaml、Json、Dict之间的转化
2020/10/19 Python
高二英语教学反思
2014/01/19 职场文书
三爱活动实施方案
2014/03/19 职场文书
《夕阳真美》教学反思
2014/04/27 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
工作态度恶劣检讨书
2015/05/06 职场文书
尊师重教主题班会
2015/08/14 职场文书
2016三八妇女节校园广播稿
2015/12/17 职场文书
考生诚信考试承诺书(2016版)
2016/03/25 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python
Python帮你解决手机qq微信内存占用太多问题
2022/02/15 Python
关于k8s环境部署mysql主从的问题
2022/03/13 MySQL