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解析网页源代码中的115网盘链接实例
Sep 30 Python
python之文件的读写和文件目录以及文件夹的操作实现代码
Aug 28 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
Mar 19 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
Apr 27 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
Sep 27 Python
python数据预处理之数据标准化的几种处理方式
Jul 17 Python
Django 路由控制的实现
Jul 17 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
Oct 28 Python
Python OpenCV图像指定区域裁剪的实现
Oct 30 Python
pytorch GAN伪造手写体mnist数据集方式
Jan 10 Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
Feb 27 Python
python下载的库包存放路径
Jul 27 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获取邮箱地址的详解
2013/06/03 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
PHP如何使用Memcached
2016/04/05 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
2018/08/04 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
JS获取IUSR_机器名和IWAM_机器名帐号的密码
2006/12/06 Javascript
namespace.js Javascript的命名空间库
2011/10/11 Javascript
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
2013/02/25 Javascript
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
jQuery插件datatables使用教程
2016/04/21 Javascript
AngularJS基础 ng-model-options 指令简单示例
2016/08/02 Javascript
Node.js利用断言模块assert进行单元测试的方法
2017/09/28 Javascript
vue实现条件叠加搜索的解决方法
2019/05/28 Javascript
解决vue页面渲染但dom没渲染的操作
2020/07/27 Javascript
vue抽出组件并传值实例
2020/07/31 Javascript
谈谈JavaScript中的函数
2020/09/08 Javascript
简介Python设计模式中的代理模式与模板方法模式编程
2016/02/02 Python
linux环境下的python安装过程图解(含setuptools)
2017/11/22 Python
Python中Threading用法详解
2017/12/27 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
Python爬取个人微信朋友信息操作示例
2018/08/03 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
Django windows使用Apache实现部署流程解析
2020/10/12 Python
美国婴儿和儿童家具网上商店:ABaby.com
2018/07/02 全球购物
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
英国办公家具网站:Furniture At Work
2019/10/07 全球购物
村官工作鉴定评语
2014/01/27 职场文书
党员公开承诺事项
2014/03/25 职场文书
教师自荐信范文
2015/03/06 职场文书
2015年纪检监察工作总结
2015/04/08 职场文书
2019最新版火锅店的创业计划书 !
2019/07/12 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
Go语言实现Snowflake雪花算法
2021/06/08 Golang