python如何导入图片imread_OpenCV 使用imread()函数读取图片的六种正确姿势

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

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

如图:

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

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

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

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

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

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

设置之后miao.jpg就是argv[1],2.jpg就是argv[2]。

这次的完整代码如下(路径因人而异的):

#include

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/533987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python2.7与3.7脚本转换_python 2.7 - python 3.7 升级记录

更换的模块python 3.7 模块名python 2.7 模块名python 3.7 包python 2.7包pymysqlMySQLdbPyMySQLMySQL-pythonpdfminerpdfminerpdfminer.sixpdfminerurllib.parseurlparse自带自带htmlHTMLParser自带HTMLparser语法变化1. print 修改为 print()2. except Exception, e 修改为 e…

远程过程调用失败_Java开发大型互联网RPC远程调用服务实现之问题处理方案

引言RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络…

chrome 新的session 设置_为什么还是由这么多人搞不懂Cookie、Session、Token?

作者:不学无数的程序员链接:https://urlify.cn/Yfm6Vr# Cookie洛:大爷,楼上322住的是马冬梅家吧? 大爷:马都什么? 夏洛:马冬梅。 7大爷:什么都没啊? 夏洛…

mysql for update用处_for update的作用和用法

一、for update定义for update是一种行级锁,又叫排它锁,一旦用户对某个行施加了行级加锁,则该用户可以查询也可以更新被加锁的数据行,其它用户只能查询但不能更新被加锁的数据行.如果其它用户想更新该表中的数据行&…

python大数据零基础_零基础学习大数据人工智能,学习路线篇!

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经成为了语言排行第一名。从学习难易度来看…

python删除文件和linux删除文件区别_使用Python批量删除文件列表

使用Python批量删除文件列表环境:已知要删除的文件列表,即确定哪些文件要删除。代码如下:#!/usr/bin/env python#codingutf-8#目的:本程序主要为删除给定的文件列表import osimport shutil#引入模块,os为包含普遍的操作…

华为python有必要学吗_【华为云技术分享】这个 Python 库有必要好好学学

这里看一个最基本的例子,这里给到一个 User 的 Class 定义,再给到一个 data 数据,像这样:1 class User(object):2 def __init__(self, name, age):3 self.name name4 self.age age56 data [{7 name: Germey,8 age: 239 }, {10 nam…

python求平行四边形面积_python 已知平行四边形三个点,求第四个点的案例

我就废话不多说了,大家还是直接看代码吧!import numpy as np#已知平行四边形三个点,求第四个点#计算两点之间的距离def CalcEuclideanDistance(point1,point2):vec1 np.array(point1)vec2 np.array(point2)distance np.linalg.norm(vec1 -…

eview面板数据之混合回归模型_【视频教程】Eviews系列25|面板数据回归分析之Hausman检验及本章常见问题解答...

点击上方关注我们!本期我们学习Eviews统计建模最后一部分--面板数据回归分析Hausman检验及本章常见问题解答。实操:Hausman检验判断是固定效应模型还是随机效应模型上期我们讲到模型判断若选择模型2,需进一步通过Hausman检验判断固定效应还是随机效应,接…

python打出由边框包围的_python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)...

图像边框的实现图像边框设计的主要函数cv.copyMakeBorder()——实现边框填充主要参数如下:参数一:源图像——如:读取的img参数二——参数五分别是:上下左右边的宽度——单位:像素参数六:边框类型&#xff1…

mysql5.7.21备份脚本_Shell脚本使用汇总整理——mysql数据库5.7.8以后备份脚本

#!/bin/sh#db_backups_conf.txt文件路径db_backups_conf"/wocloud/shell/db_backups_conf.txt"#判断文件是否存在if [ -f "${db_backups_conf}" ];thenecho $(date %Y-%m-%d %H:%M:%S)" 数据库配置信息文件存在,开始进行数据备份"#获…

python嵌套列表操作_python基础(list列表的操作,公共方法,列表嵌套,元祖)...

list 列表索引,切片与str相同。列表的操作(增删改查)1,增加.append()  追加,增加到最后li [alex,wusir,egon,女神,taibai]li.append(ppp)print(li).insert()  中间插入,通过索引li [alex,wusir,egon,女神,taibai]li.insert(…

mybatis mysql selectkey_Mybatis示例之SelectKey的应用

SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式。不管SelectKey有多好,尽量不要遇到这种情况吧,毕竟很麻烦。SelectKey需要注意order属性,像Mysql一类支持自动增长类型的…

python程序设计上机实践第三章答案_20192419 实验三《Python程序设计》实验报告

学号 2019-2020-2 《Python程序设计》实验3报告课程:《Python程序设计》班级:1924姓名: 万腾阳学号:20192419实验教师:王志强实验日期:2020年5月16日必修/选修: 公选课1.实验内容创建服务端和客…

完成数独的算法 python_python实现数独算法实例

本文实例讲述了python实现数独算法的方法。分享给大家供大家参考。具体如下:# -*- coding: utf-8 -*-Created on 2012-10-5author: Administratorfrom collections import defaultdictimport itertoolsa [[ 0, 7, 0, 0, 0, 0, 0, 0, 0], #0[ 5, 0, 3, 0, 0, 6, 0, …

python读取多个文件csv_Python:读取多个文本文件并写入相应的csv文件

我在别处找不到这个问题的答案,所以我将继续把它贴在这里:我有一个Python脚本,它将读取文本文件的内容,将其内容拆分为单词,然后输出一个CSV文件,该文件将文本缩减为单词频率列表。(最后,我将插…

java treetable_在Swing中创建TreeTable | 学步园

TreeTable是Tree和Table的一个结合-就是一个即能够展开和收起行,同时也能够显示多个列的组件。在Swing的标准包里没有一个叫做JtreeTable的组件,但是我们很容易通过把Jtree做成Jtable的渲染器来创建一个这样的组件。这篇文章就是关于如何使用…

python爬去微博十大流行语_用python重新定义【2019十大网络流行语】-后台/架构/数据库-敏捷大拇指-一个敢保留真话的IT精英社区...

↑关注 置顶 ~ 有趣的不像个技术号52568040f9313098ffa367d9d9d21437.jpg (5.73 KB, 下载次数: 0)2019-12-10 04:43 上传3f4d5fe0016d011a7a68af763314befd.jpg (1.06 KB, 下载次数: 0)2019-12-10 04:43 上传“文明互鉴真硬核,融梗柠檬谁觉得。霸凌第一九九六&…

java中怎么获取配置文件的值_java如何获取配置文件的值

转:原创 编码小王子 发布于2018-10-11 18:07:52 阅读数 2722 收藏展开java大型项目中都会很多系统常量,比如说数据库的账号和密码,以及各种token值等,都需要统一的管理,如果零落的散布到各个类等具体的代码中的话,在后期管理上将是一场灾难,所有需要对这些变量进行统…

python实现队列_用Python实现的数据结构与算法:队列

一、概述队列(Queue)是一种先进先出(FIFO)的线性数据结构,插入操作在队尾(rear)进行,删除操作在队首(front)进行。二、ADT队列ADT(抽象数据类型)一般提供以下接口:Queue() 创建队列enqueue(item) 向队尾插入项dequeue() 返回队首的项&#xf…