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函数的5种参数详解
Feb 24 Python
基于python内置函数与匿名函数详解
Jan 09 Python
Python实现的旋转数组功能算法示例
Feb 23 Python
python抖音表白程序源代码
Apr 07 Python
Python Excel处理库openpyxl使用详解
May 09 Python
Python从函数参数类型引出元组实例分析
May 28 Python
python动态进度条的实现代码
Jul 03 Python
python使用多线程编写tcp客户端程序
Sep 02 Python
利用 Python ElementTree 生成 xml的实例
Mar 06 Python
Python关键字及可变参数*args,**kw原理解析
Apr 04 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
Sep 21 Python
bat批处理之字符串操作的实现
Mar 16 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 CURL使用详解
2019/03/21 PHP
prototype class详解
2006/09/07 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
jquery div拖动效果示例代码
2013/12/08 Javascript
ie 7/8不支持trim的属性的解决方案
2014/05/23 Javascript
javascript实现全局匹配并替换的方法
2015/04/27 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
javascript的列表切换【实现代码】
2016/05/03 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
jQuery查找dom的几种方法效率详解
2017/05/17 jQuery
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
微信小程序实现团购或秒杀批量倒计时
2020/11/01 Javascript
Node.js Buffer模块功能及常用方法实例分析
2019/01/05 Javascript
Vue.js实现的购物车功能详解
2019/01/27 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
Node.js系列之发起get/post请求(2)
2019/08/30 Javascript
微信小程序实现点击图片放大预览
2019/10/21 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
对vue生命周期的深入理解
2020/12/03 Vue.js
Python给你的头像加上圣诞帽
2018/01/04 Python
Django实现组合搜索的方法示例
2018/01/23 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
在win10和linux上分别安装Python虚拟环境的方法步骤
2019/05/09 Python
python实现登录密码重置简易操作代码
2019/08/14 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
Matplotlib自定义坐标轴刻度的实现示例
2020/06/18 Python
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
Java的五个基础面试题
2016/02/26 面试题
中文教师求职信
2014/02/22 职场文书
自我鉴定总结
2014/03/24 职场文书
外联部演讲稿
2014/05/24 职场文书
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
趣味运动会标语口号
2015/12/26 职场文书
详细了解java监听器和过滤器
2021/07/09 Java/Android
浅谈Redis 中的过期删除策略和内存淘汰机制
2022/04/03 Redis