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在windows下实现ping操作并接收返回信息的方法
Mar 20 Python
解决csv.writer写入文件有多余的空行问题
Jul 06 Python
浅谈Python接口对json串的处理方法
Dec 19 Python
Python读取csv文件分隔符设置方法
Jan 14 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
Jan 26 Python
Python 使用folium绘制leaflet地图的实现方法
Jul 05 Python
Python守护进程实现过程详解
Feb 10 Python
Python3 Click模块的使用方法详解
Feb 12 Python
mac在matplotlib中显示中文的操作方法
Mar 06 Python
python selenium操作cookie的实现
Mar 18 Python
django API 中接口的互相调用实例
Apr 01 Python
Python实现滑雪小游戏
Sep 25 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
Laravel框架表单验证详解
2014/09/04 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
2016/11/05 PHP
PHP中overload与override的区别
2017/02/13 PHP
当jQuery遭遇CoffeeScript的时候 使用分享
2011/09/17 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
jQuery插件实现屏蔽单个元素使用户无法点击
2013/04/12 Javascript
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
在线引用最新jquery文件的实现方法
2016/08/26 Javascript
Vue.js每天必学之构造器与生命周期
2016/09/05 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
JS简单生成随机数(随机密码)的方法
2017/05/11 Javascript
详解webpack中的hash、chunkhash、contenthash区别
2018/01/05 Javascript
Vue2.0 实现单选互斥的方法
2018/04/13 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
小程序getLocation需要在app.json中声明permission字段
2019/04/04 Javascript
Vue 2.0 侦听器 watch属性代码详解
2019/06/19 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
微信小程序实现列表左右滑动
2020/11/19 Javascript
Python map和reduce函数用法示例
2015/02/26 Python
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
Python网络编程 Python套接字编程
2017/09/13 Python
python+opencv实现车牌定位功能(实例代码)
2019/12/24 Python
selenium 多窗口切换的实现(windows)
2020/01/18 Python
Python读写操作csv和excle文件代码实例
2020/03/16 Python
Pytorch 高效使用GPU的操作
2020/06/27 Python
CSS3实现div从下往上滑入滑出效果示例
2020/04/28 HTML / CSS
周仰杰(JIMMY CHOO)法国官方网站:闻名世界的鞋子品牌
2019/09/27 全球购物
美德好少年主要事迹
2014/01/29 职场文书
个人求职信范文分享
2014/01/31 职场文书
优秀安全员事迹材料
2014/05/11 职场文书
2014年社区民政工作总结
2014/12/02 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers
关于JS中的作用域中的问题思考分享
2022/04/06 Javascript