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九九乘法表的实例
Sep 26 Python
Python学习笔记之if语句的使用示例
Oct 23 Python
python计算两个地址之间的距离方法
Jun 09 Python
Windows下将Python文件打包成.EXE可执行文件的方法
Aug 03 Python
Python将string转换到float的实例方法
Jul 29 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
Mar 25 Python
python操作yaml说明
Apr 08 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
Apr 13 Python
基于python实现数组格式参数加密计算
Apr 21 Python
Python实现异步IO的示例
Nov 05 Python
PyQt5爬取12306车票信息程序的实现
May 14 Python
matplotlib如何设置坐标轴刻度的个数及标签的方法总结
Jun 11 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中如何直接执行SHELL
2013/06/28 PHP
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
2017/02/07 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
解决tp5在nginx下修改配置访问的问题
2019/10/16 PHP
JavaScript入门教程(11) js事件处理
2009/01/31 Javascript
围观tangram js库
2010/12/28 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
js交换排序 冒泡排序算法(Javascript版)
2014/10/04 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
APP中javascript+css3实现下拉刷新效果
2016/01/27 Javascript
javascript删除html标签函数cIsHTML
2017/01/09 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
2018/10/26 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
Vue快速实现通用表单验证的示例代码
2020/01/09 Javascript
js 动态校验开始结束时间的实现代码
2020/05/25 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
浅谈pycharm使用及设置方法
2019/09/09 Python
python编写微信公众号首图思路详解
2019/12/13 Python
python如何实现递归转非递归
2021/02/25 Python
HTML5 自动聚焦(autofocus)属性使用介绍
2013/08/07 HTML / CSS
先进党支部事迹材料
2014/01/13 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
六一亲子活动总结
2014/07/01 职场文书
委托书如何写
2014/08/30 职场文书
党员批评与自我批评范文
2014/09/23 职场文书
销售简历自我评价怎么写
2014/09/26 职场文书
2014年药剂科工作总结
2014/11/26 职场文书
高校自主招生自荐信2015
2015/03/04 职场文书
Python中使用Lambda函数的5种用法
2021/04/01 Python
Pytorch 如何实现LSTM时间序列预测
2021/05/17 Python
SpringBoot整合Minio文件存储
2022/04/03 Java/Android