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神器对付12306变态验证码
Jan 05 Python
在Python中定义和使用抽象类的方法
Jun 30 Python
python Flask实现restful api service
Dec 04 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
Oct 31 Python
用Python中的turtle模块画图两只小羊方法
Apr 09 Python
Python数据类型之Number数字操作实例详解
May 08 Python
Python 经典算法100及解析(小结)
Sep 13 Python
python基于三阶贝塞尔曲线的数据平滑算法
Dec 27 Python
pytorch masked_fill报错的解决
Feb 18 Python
如何通过Python3和ssl实现加密通信功能
May 09 Python
python操作微信自动发消息的实现(微信聊天机器人)
Jul 14 Python
Python用SSH连接到网络设备
Feb 18 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
星际争霸中的对战模式介绍
2020/03/04 星际争霸
php购物车实现方法
2015/01/03 PHP
PHP使用NuSOAP调用Web服务的方法
2015/07/18 PHP
php通过各种函数判断0和空
2020/07/04 PHP
PHP实现一个轻量级容器的方法
2019/01/28 PHP
Laravel 连接(Join)示例
2019/10/16 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
百度 popup.js 完美修正版非常的不错 脚本之家推荐
2009/04/17 Javascript
学习ExtJS(二) Button常用方法
2009/10/07 Javascript
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
2013/12/02 Javascript
js实现字符串的16进制编码不加密
2014/04/25 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
JQuery查找DOM节点的方法
2015/06/11 Javascript
举例讲解jQuery中可见性过滤选择器的使用
2016/04/18 Javascript
JS中mouseover和mouseout多次触发问题如何解决
2016/06/06 Javascript
bootstrap滚动监控器使用方法解析
2017/01/13 Javascript
JS实现touch 点击滑动轮播实例代码
2017/01/19 Javascript
关于定制FileField中的上传文件名称问题
2017/08/22 Javascript
JS实现自定义弹窗功能
2018/08/08 Javascript
vue 扩展现有组件的操作
2020/08/14 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
在Vue中使用Echarts可视化库的完整步骤记录
2020/11/18 Vue.js
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
2018/03/19 Python
python opencv读mp4视频的实例
2018/12/07 Python
详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用
2020/08/24 HTML / CSS
HTML5移动端开发遇见的东西
2019/10/11 HTML / CSS
Html5插件教程之添加浏览器放大镜效果的商品橱窗
2016/01/07 HTML / CSS
电子装配专业毕业生求职信
2014/04/23 职场文书
开发房地产协议书
2014/09/14 职场文书
党小组评议意见
2015/06/02 职场文书
教师工作证明范本
2015/06/12 职场文书
毕业欢送晚会主持词
2019/06/25 职场文书
《和时间赛跑》读后感3篇
2019/12/16 职场文书
python scrapy简单模拟登录的代码分析
2021/07/21 Python
Python内置数据类型中的集合详解
2022/03/18 Python