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 相关文章推荐
在Heroku云平台上部署Python的Django框架的教程
Apr 20 Python
Python AES加密模块用法分析
May 22 Python
理解python中生成器用法
Dec 20 Python
python+selenium实现登录账户后自动点击的示例
Dec 22 Python
浅析Python3爬虫登录模拟
Feb 07 Python
Python 元类实例解析
Apr 04 Python
Python将文字转成语音并读出来的实例详解
Jul 15 Python
python中def是做什么的
Jun 10 Python
python实现学生成绩测评系统
Jun 22 Python
Django ModelForm组件原理及用法详解
Oct 12 Python
python实现一个简单RPC框架的示例
Oct 28 Python
Python - 10行代码集2000张美女图
May 23 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自定义session示例分享
2014/04/22 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
2017/06/19 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
2017/07/10 PHP
Jquery 高亮显示文本中重要的关键字
2009/12/24 Javascript
深入浅析JavaScript中对事件的三种监听方式
2015/09/29 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
2016/12/13 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
利用webstrom调试Vue.js单页面程序的方法教程
2017/06/06 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
js 只比较时间大小的实例
2017/10/26 Javascript
Vue组件开发之LeanCloud带图形校验码的短信发送功能
2017/11/07 Javascript
vue项目持久化存储数据的实现代码
2018/10/01 Javascript
小程序实现日历左右滑动效果
2019/10/21 Javascript
Python3读取文件常用方法实例分析
2015/05/22 Python
django model去掉unique_together报错的解决方案
2016/10/18 Python
Python 异常处理的实例详解
2017/09/11 Python
Python 通过requests实现腾讯新闻抓取爬虫的方法
2019/02/22 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
html5 Canvas实现图片旋转的示例
2018/01/15 HTML / CSS
UGG雪地靴德国官网:UGG德国
2016/11/19 全球购物
DJI美国:消费类无人机领域的领导者
2018/04/27 全球购物
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
会计顶岗实习心得
2014/01/25 职场文书
运动会广播稿500字
2014/01/28 职场文书
致裁判员加油稿
2014/02/08 职场文书
地球一小时倡议书
2014/04/15 职场文书
本科生自荐信
2014/06/18 职场文书
中学生社区服务活动报告
2015/02/05 职场文书
工作失职检讨书范文
2015/05/05 职场文书
青年志愿者活动感想
2015/08/07 职场文书
图解排序算法之希尔排序Java实现
2021/06/26 Java/Android