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 相关文章推荐
Django视图之ORM数据库查询操作API的实例
Oct 27 Python
Python中的单继承与多继承实例分析
May 10 Python
Python用for循环实现九九乘法表
May 31 Python
python实现NB-IoT模块远程控制
Jun 20 Python
对web.py设置favicon.ico的方法详解
Dec 04 Python
浅谈Python小波分析库Pywavelets的一点使用心得
Jul 09 Python
python3.6中@property装饰器的使用方法示例
Aug 17 Python
Python新手如何进行闭包时绑定变量操作
May 29 Python
python 实现rolling和apply函数的向下取值操作
Jun 08 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
Jul 18 Python
Python Pandas读取Excel日期数据的异常处理方法
Feb 28 Python
在python中读取和写入CSV文件详情
Jun 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
用PHP实现的四则运算表达式计算实现代码
2011/08/02 PHP
CodeIgniter安全相关设置汇总
2014/07/03 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
2019/05/21 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
类似CSDN图片切换效果脚本
2009/09/17 Javascript
javascript hashtable实现代码
2009/10/13 Javascript
常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
2012/01/04 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
2013/05/15 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
2015/02/23 Javascript
nodejs加密Crypto的实例代码
2016/07/07 NodeJs
jquery插件锦集【推荐】
2016/12/16 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
JavaScript中一些特殊的字符运算
2017/08/17 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
AngularJS自定义表单验证功能实例详解
2018/08/24 Javascript
使用ng-packagr打包Angular的方法示例
2018/09/21 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
2018/12/25 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
2019/09/16 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
2019/10/24 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
Python 除法小技巧
2008/09/06 Python
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
python处理PHP数组文本文件实例
2014/09/18 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
2015/07/15 Python
python魔法方法-自定义序列详解
2016/07/21 Python
python中解析json格式文件的方法示例
2017/05/03 Python
使用pickle存储数据dump 和 load实例讲解
2019/12/30 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
python 指定源路径来解决import问题的操作
2021/03/04 Python
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
C#面试题
2016/05/06 面试题
四年的个人工作自我评价
2013/12/10 职场文书
李白故里导游词
2015/02/12 职场文书
公路施工安全责任书
2015/05/08 职场文书