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算法应用实战之队列详解
Feb 04 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
Nov 30 Python
利用Python进行异常值分析实例代码
Dec 07 Python
python3下实现搜狗AI API的代码示例
Apr 10 Python
Pycharm 操作Django Model的简单运用方法
May 23 Python
Django 视图层(view)的使用
Nov 09 Python
python实现维吉尼亚算法
Mar 20 Python
PyQt5 加载图片和文本文件的实例
Jun 14 Python
Python pandas DataFrame操作的实现代码
Jun 21 Python
python中从for循环延申到推导式的具体使用
Nov 29 Python
python 的topk算法实例
Apr 02 Python
Python 实现绘制子图及子图刻度的变换等问题
May 31 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
php4的session功能评述(三)
2006/10/09 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
2014/10/30 PHP
C# WinForm中实现快捷键自定义设置实例
2015/01/23 PHP
比较完整的微信开发php代码
2016/08/02 PHP
PHP 计算两个特别大的整数实例代码
2018/05/07 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
2010/03/16 Javascript
javascript开发技术大全-第3章 js数据类型
2011/07/03 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
js onclick事件传参讲解
2013/11/06 Javascript
JS对象转换为Jquery对象实现代码
2013/12/29 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
2014/12/15 Javascript
node.js中的fs.fchown方法使用说明
2014/12/16 Javascript
浅谈setTimeout 与 setInterval
2015/06/23 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
2017/08/29 jQuery
Vue数据监听方法watch的使用
2018/03/28 Javascript
实用的Vue开发技巧
2019/05/30 Javascript
[50:50]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第一场 12.10
2020/12/13 DOTA
python实现发送邮件及附件功能
2021/03/02 Python
Python 爬虫图片简单实现
2017/06/01 Python
带你认识Django
2019/01/15 Python
计算机二级python学习教程(1) 教大家如何学习python
2019/05/16 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
2019/09/11 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
美国和加拿大房车出售在线分类广告:RVT.com
2018/04/23 全球购物
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
校园奶茶店创业计划书
2014/01/23 职场文书
店面出租协议书范本
2014/11/28 职场文书
学雷锋日活动总结
2015/02/06 职场文书
法律讲堂观后感
2015/06/11 职场文书
详解用Python把PDF转为Word方法总结
2021/04/27 Python
简单谈谈Python面向对象的相关知识
2021/06/28 Python
Python Pygame实战之塔防游戏的实现
2022/03/17 Python