OpenCV实践之路——使用imread()函数读取图片的六种正确姿势
本文由@星沉阁冰不语出品,转载请注明作者和出处。
文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/51375078
微博:http://weibo.com/xingchenbing
经常看到有人在网上询问关于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()函数读取图片的六种正确姿势相关推荐
- python如何导入图片imread_OpenCV 使用imread()函数读取图片的六种正确姿势
经常看到有人在网上询问关于imread()函数读取图片失败的问题.今天心血来潮,经过实验,总结出imread()调用的四种正确姿势. 通常我要获取一张图片的绝对路径是这样做的:在图片上右键--属性-- ...
- python imread函数_OpenCV 使用imread()函数读取图片的六种正确姿势
经常看到有人在网上询问关于imread()函数读取图片失败的问题.今天心血来潮,经过实验,总结出imread()调用的四种正确姿势. 通常我要获取一张图片的绝对路径是这样做的:在图片上右键--属性-- ...
- 使用openCV 的cv2.imread函数读取图片找不到路径
使用openCV 的cv2.imread函数读取图片时出现,找不到图像的问题: 错误如下: 尝试把 \ 换为 /, 或者把 \ 换为 \ 都不可以. 后来发现,是中文路径的问题,将中文路径换为英文路径 ...
- OpenCV的imread函数读取图片的路径选择相关问题
OpenCV的imread函数读取图片的路径选择相关问题 本文参考了几位博主的帖子. https://blog.csdn.net/sss_369/article/details/87740843 读取 ...
- OpenCV笔记02:用cv2.imread函数读取图片
1.读取图片 import cv2 img = cv2.imread('image.jpg') print(img) 2. 查看输出 [[[ 33 26 103][ 34 21 100][ 34 15 ...
- OpenCV实践之路——人脸识别之一数据收集和预处理
本文由@星沉阁冰不语出品,转载请注明作者和出处. 文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/51386949 微博:http ...
- OpenCV实践之路——雅虎色情图片检测神经网络试用报告
本文由@星沉阁冰不语出品,转载请注明作者和出处. 文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/52821497 微博:http ...
- matlab中显示由imread函数读取的各个通道的图像
要显示一个由 imread 函数读取的图像的各个通道,可以使用 imshow 函数结合 imread 函数来完成.以下是一些示例代码: 显示RGB图像的各个通道: rgb_image = imread ...
- 【opencv-c++】cv::imread函数读取图像
[opencv-c++]cv::imread函数读取图像 1.背景 2.示例 1.背景 本博客重点在研究并使用cv::imread函数接口. 函数原型: Mat imread( const Strin ...
最新文章
- python学会了可以做什么菜_python学习之路(24)
- win7清除系统托盘图标的方法
- cache老化时间的思考--以nat为例
- Java原子类中CAS的底层实现,java高级面试笔试题
- CROC-MBTU 2012, Elimination Round (ACM-ICPC) H DP题目
- python单词字典排序_python字典排序
- UE_GPU Driven Pipeline Mesh Shader(meshlet)
- C#使用Google翻译实现在线翻译
- 极简图床 + 阿里云OSS 做图片外链
- java 过滤script_Java过滤任意(script,html,style)标签符,返回纯文本--封装类
- Android仿微信朋友圈九宫格图片展示自定义控件,支持缩放动画~
- 连接mysql提示不允许连接_用数据库工具连接mysql出现不允许连接的解决办法
- layer常用功能-子页面关闭当前窗口-执行子页面方法-方法回调
- DE2-115 SDRAM地址问题
- 图表点编辑数据无反应_解决word2013中插入图表之后无法保存和无法调出图表的编辑数据问题...
- k-means算法进行员工培训方向分组
- 详细解读什么是自适应巡航?
- Android 2⃣️day
- 如何利用python在一个文档里xie'ru_如何用python在Windows系统下,生成UNIX格式文件...
- c语言程序设计数学电压表,单片机课程设计-数字电压表的设计.doc