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 31 Python
Python中的字符串查找操作方法总结
Jun 27 Python
Python解决N阶台阶走法问题的方法分析
Dec 28 Python
Python3.4实现远程控制电脑开关机
Feb 22 Python
mac下pycharm设置python版本的图文教程
Jun 13 Python
Python函数装饰器原理与用法详解
Aug 16 Python
Python对接支付宝支付自实现功能
Oct 10 Python
通过实例学习Python Excel操作
Jan 06 Python
Django form表单与请求的生命周期步骤详解
Jun 07 Python
python相对企业语言优势在哪
Jun 12 Python
Python 添加文件注释和函数注释操作
Aug 09 Python
python 如何在list中找Topk的数值和索引
May 20 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+mysql开源XNA 聚合程序发布 下载
2007/07/13 PHP
phpmyadmin里面导入sql语句格式的大量数据的方法
2010/06/05 PHP
PHP设计模式之责任链模式的深入解析
2013/06/13 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
2016/02/26 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
2019/03/21 PHP
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
jquery.validate分组验证代码
2011/03/17 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
jQuery获取及设置表单input各种类型值的方法小结
2016/05/24 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
基于jquery二维码生成插件qrcode
2017/01/07 Javascript
浅谈webpack打包之后的文件过大的解决方法
2018/03/07 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
2种在vue项目中使用百度地图的简单方法
2018/09/28 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
[13:40]TI3青蛙君全程回顾 DOTA2我们为梦想再战
2013/09/13 DOTA
[01:29:42]Liquid vs VP Supermajor决赛 BO 第一场 6.10
2018/07/05 DOTA
[50:22]完美盛典-2018年度红毯走秀
2018/12/16 DOTA
[36:41]完美世界DOTA2联赛循环赛FTD vs Magma第一场 10月30日
2020/10/31 DOTA
深入Python函数编程的一些特性
2015/04/13 Python
Python3字符串encode与decode的讲解
2019/04/02 Python
通过PYTHON来实现图像分割详解
2019/06/26 Python
使用Python的turtle模块画国旗
2019/09/24 Python
基于Python批量生成指定尺寸缩略图代码实例
2019/11/20 Python
Numpy中ndim、shape、dtype、astype的用法详解
2020/06/14 Python
阿根廷旅游网站:almundo阿根廷
2018/02/12 全球购物
Boden英国官网:英国知名原创时装品牌
2018/11/06 全球购物
对于没有初始化的变量的初始值可以作怎样的假定
2014/10/12 面试题
车间班组长岗位职责
2013/11/13 职场文书
网站开发实习生的自我评价
2013/12/11 职场文书
创建绿色社区汇报材料
2014/08/22 职场文书
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
汶川大地震感悟
2015/08/10 职场文书
利用Python判断你的密码难度等级
2021/06/02 Python