本文由@星沉阁冰不语出品,转载请注明作者和出处。

文章链接: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()函数读取图片的六种正确姿势相关推荐

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

    经常看到有人在网上询问关于imread()函数读取图片失败的问题.今天心血来潮,经过实验,总结出imread()调用的四种正确姿势. 通常我要获取一张图片的绝对路径是这样做的:在图片上右键--属性-- ...

  2. python imread函数_OpenCV 使用imread()函数读取图片的六种正确姿势

    经常看到有人在网上询问关于imread()函数读取图片失败的问题.今天心血来潮,经过实验,总结出imread()调用的四种正确姿势. 通常我要获取一张图片的绝对路径是这样做的:在图片上右键--属性-- ...

  3. 使用openCV 的cv2.imread函数读取图片找不到路径

    使用openCV 的cv2.imread函数读取图片时出现,找不到图像的问题: 错误如下: 尝试把 \ 换为 /, 或者把 \ 换为 \ 都不可以. 后来发现,是中文路径的问题,将中文路径换为英文路径 ...

  4. OpenCV的imread函数读取图片的路径选择相关问题

    OpenCV的imread函数读取图片的路径选择相关问题 本文参考了几位博主的帖子. https://blog.csdn.net/sss_369/article/details/87740843 读取 ...

  5. OpenCV笔记02:用cv2.imread函数读取图片

    1.读取图片 import cv2 img = cv2.imread('image.jpg') print(img) 2. 查看输出 [[[ 33 26 103][ 34 21 100][ 34 15 ...

  6. OpenCV实践之路——人脸识别之一数据收集和预处理

    本文由@星沉阁冰不语出品,转载请注明作者和出处. 文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/51386949 微博:http ...

  7. OpenCV实践之路——雅虎色情图片检测神经网络试用报告

    本文由@星沉阁冰不语出品,转载请注明作者和出处. 文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/52821497 微博:http ...

  8. matlab中显示由imread函数读取的各个通道的图像

    要显示一个由 imread 函数读取的图像的各个通道,可以使用 imshow 函数结合 imread 函数来完成.以下是一些示例代码: 显示RGB图像的各个通道: rgb_image = imread ...

  9. 【opencv-c++】cv::imread函数读取图像

    [opencv-c++]cv::imread函数读取图像 1.背景 2.示例 1.背景 本博客重点在研究并使用cv::imread函数接口. 函数原型: Mat imread( const Strin ...

最新文章

  1. python学会了可以做什么菜_python学习之路(24)
  2. win7清除系统托盘图标的方法
  3. cache老化时间的思考--以nat为例
  4. Java原子类中CAS的底层实现,java高级面试笔试题
  5. CROC-MBTU 2012, Elimination Round (ACM-ICPC) H DP题目
  6. python单词字典排序_python字典排序
  7. UE_GPU Driven Pipeline Mesh Shader(meshlet)
  8. C#使用Google翻译实现在线翻译
  9. 极简图床 + 阿里云OSS 做图片外链
  10. java 过滤script_Java过滤任意(script,html,style)标签符,返回纯文本--封装类
  11. Android仿微信朋友圈九宫格图片展示自定义控件,支持缩放动画~
  12. 连接mysql提示不允许连接_用数据库工具连接mysql出现不允许连接的解决办法
  13. layer常用功能-子页面关闭当前窗口-执行子页面方法-方法回调
  14. DE2-115 SDRAM地址问题
  15. 图表点编辑数据无反应_解决word2013中插入图表之后无法保存和无法调出图表的编辑数据问题...
  16. k-means算法进行员工培训方向分组
  17. 详细解读什么是自适应巡航?
  18. Android 2⃣️day
  19. 如何利用python在一个文档里xie'ru_如何用python在Windows系统下,生成UNIX格式文件...
  20. c语言程序设计数学电压表,单片机课程设计-数字电压表的设计.doc

热门文章

  1. 计算机游戏设计的艺术(1)
  2. Java简单语句项目练习——英雄联盟商城
  3. 开源视觉SLAM方案
  4. 计算机考研专业课考研真题,计算机考研专业课真题.docx
  5. 【PAT甲级】1062 Talent and Virtue (25分)
  6. 深入理解JVM-内存篇
  7. MySQL树形结构设计
  8. 天鹅到家“天鹅之星”:品质化家政的新标杆
  9. 2022春招前端最新面试题分享(蓝信移动)
  10. Hadoop精华问答 | 基于Hadoop的数据中心有什么好处?