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判断图片宽度和高度后删除图片的方法
May 22 Python
Python学习教程之常用的内置函数大全
Jul 14 Python
python中reload(module)的用法示例详解
Sep 15 Python
解决PyCharm的Python.exe已经停止工作的问题
Nov 29 Python
python字符串循环左移
Mar 08 Python
将python依赖包打包成window下可执行文件bat方式
Dec 26 Python
pytorch中tensor张量数据类型的转化方式
Dec 31 Python
python不相等的两个字符串的 if 条件判断为True详解
Mar 12 Python
解决使用python print打印函数返回值多一个None的问题
Apr 09 Python
python实现在列表中查找某个元素的下标示例
Nov 16 Python
总结python 三种常见的内存泄漏场景
Nov 20 Python
python 字典和列表嵌套用法详解
Jun 29 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
解析centos中Apache、php、mysql 默认安装路径
2013/06/25 PHP
php中的filesystem文件系统函数介绍及使用示例
2014/02/13 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
JS的IE和Firefox兼容性集锦
2006/12/11 Javascript
ppk谈JavaScript style属性
2008/10/10 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
2011/09/04 Javascript
JS的document.all函数使用示例
2013/12/30 Javascript
JavaScript中计算网页中某个元素的位置
2015/06/10 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
微信小程序 二维码canvas绘制实例详解
2017/01/06 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
2018/09/18 Javascript
微信小程序实现简易table表格
2020/06/19 Javascript
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
如何HttpServletRequest文件对象并储存
2020/08/14 Javascript
[02:42]完美大师赛主赛事淘汰赛第三日观众采访
2017/11/25 DOTA
基于Pandas读取csv文件Error的总结
2018/06/15 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
PAUL HEWITT手表美国站:德国北部时尚生活配饰品牌,船锚元素
2017/11/18 全球购物
网吧收银员岗位职责
2013/12/14 职场文书
转党组织关系介绍信
2014/01/08 职场文书
八年级音乐教学反思
2014/01/09 职场文书
六一儿童节活动策划方案
2014/01/27 职场文书
九年级化学教学反思
2014/01/28 职场文书
汽车队司机先进事迹材料
2014/02/01 职场文书
老总助理工作岗位职责
2014/02/06 职场文书
2014年元旦促销活动方案
2014/02/22 职场文书
群众路线教育实践活动对照检查材料
2014/09/22 职场文书
CSS预处理框架——Stylus
2021/04/21 HTML / CSS
mysql分表之后如何平滑上线详解
2021/11/01 MySQL
Go Grpc Gateway兼容HTTP协议文档自动生成网关
2022/06/16 Golang