OpenCV 使用imread()函数读取图片的六种正确姿势

 更新时间:2020年07月09日 11:02:01   作者:冰不语  
这篇文章主要介绍了OpenCV 使用imread()函数读取图片的六种正确姿势,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

经常看到有人在网上询问关于imread()函数读取图片失败的问题。今天心血来潮,经过实验,总结出imread()调用的四种正确姿势。

通常我要获取一张图片的绝对路径是这样做的:在图片上右键——属性——安全——对象名称。然后复制对象名称就得到了图片的绝对路径。

如图:


然而这样得到的路径直接复制粘贴到vs里面会直接报错,如下:


可以看出我们获取的绝对路径的表示方法是单右斜线形式的。显然opencv的imread()不支持这种方式。但是!!!经过实验发现imread()除了不支持单右斜线形式,其他斜线形式都支持!!!比如双右斜线形式、双左斜线形式、单左斜线形式、前述三种斜线混合型式都是支持的!!我想知道为什么??

看图,下面的六种方式任何一种都是支持的,都可以成功读取并显示图片。


我个人经常用的方法是第5种,相对路径法。只需要把图像文件放在工程文件夹下和.cpp文件放在一起就行了,读取的时候就可以直接用名字读取,如imread("miao.jpg");

最后一种命令行参数法是源码中比较常见的。设置方法是:

工程——属性——配置属性——调试——命令行参数,然后设置就行了。如图:


设置之后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()读取图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python操作PDF图片的基本方法(增删改查)

    Python操作PDF图片的基本方法(增删改查)

    PDF文件中的图片可以丰富文档内容,提升用户的阅读体验,除了在PDF中添加图片外,有时也需要替换或删除其中的图片,文本将提供三个示例,介绍如何使用Python 操作PDF文件中的图片,需要的朋友可以参考下
    2024-04-04
  • python实现雪花飘落效果实例讲解

    python实现雪花飘落效果实例讲解

    在本篇文章里小编给大家整理了关于python实现雪花飘落效果的相关实例内容,以及代码写法,需要的朋友们参考下。
    2019-06-06
  • python pyvis库创建可视化交互式网络图

    python pyvis库创建可视化交互式网络图

    这篇文章主要为大家介绍了python pyvis库创建可视化交互式网络图,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • Python入门教程(三十九)Python的NumPy安装与入门

    Python入门教程(三十九)Python的NumPy安装与入门

    这篇文章主要介绍了Python入门教程(三十九)Python的NumPy安装与入门,NumPy 是一个Python包,它是一个由多维数组对象和用于处理数组的例程集合组成的库,,需要的朋友可以参考下
    2023-05-05
  • Python如何实现小程序 无限求和平均

    Python如何实现小程序 无限求和平均

    这篇文章主要介绍了python如何实现小程序 无限求和平均,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Python实现自动收集参数的技巧分享

    Python实现自动收集参数的技巧分享

    在Python中,充分利用函数参数的自动收集和灵活处理,是写出高效且易维护代码的关键之一,本文将深入研究Python函数参数的收集方式,感兴趣的小伙伴可以了解下
    2023-12-12
  • Python文本终端GUI框架示例详细讲解

    Python文本终端GUI框架示例详细讲解

    GUI,全称为图形用户界面,又称为图形用户接口,是一种人与计算机通信的界面显示格式。那么Python常用GUI框架有哪些呢?我们来看看具体介绍
    2022-11-11
  • python中加背景音乐如何操作

    python中加背景音乐如何操作

    在本篇文章里小编给大家整理了关于在python中加背景音乐的方法,需要的朋友们可以参考下。
    2020-07-07
  • 深入了解Python中的时间处理函数

    深入了解Python中的时间处理函数

    这篇文章主要是和大家一起探索python中的时间处理函数,让大家彻底弄懂时间处理。文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2021-12-12
  • 学Python 3的理由和必要性

    学Python 3的理由和必要性

    在本篇文章里小编给大家整理的是关于学Python 3的理由的优势,有兴趣的朋友们跟着学习参考下。
    2019-11-11

最新评论