OpenCV imread读取图片失败的问题及解决
作者:xiexieken 发布时间:2021-10-20 06:44:00
OpenCV imread读取图片失败问题
使用一下代码读取一张图片失败(不管是绝对路径还是相对路径,都失败),工程运行都没问题,就是图片读取失败。
// 读入一张图片(游戏原画)
Mat img=imread("hehe.jpg");
if(!img.data) //判断图片调入是否成功
return -1; //调入图片失败则退出
// 创建一个名为 "游戏原画"窗口
cvNamedWindow("enen");
// 在窗口中显示游戏原画
imshow("enen",img);
// 等待6000 ms后窗口自动关闭
waitKey(6000);
以上的问题是因为工程的配置为Debug模式
但在配置“链接器->附加依赖项”时,把*.lib库一起加入其中,并且将*.lib库加在了*d.lib库之前,这样就导致了优先使用*.lib。解决办法是把附加依赖项中open的*.lib全删了。
注意:
一般在配置工程时,Debug工程的“链接器->附加依赖项”一般只加*d.lib库;而Release工程的“链接器->附加依赖项”一般只加*.lib库,这样就可以避免以上问题。
OpenCV读图失败的三种情况,其中一种情况罕见
初学OpenCV,对于读图片失败一共碰到过三种情况,第一种情况似乎没什么人遇到过,但我遇到了这个坑,写在最前面希望给后续的朋友一定帮助。
一、Windows粘贴可能存在非法字符
本人在使用imread函数进行读图片时,由于偷懒,直接把图片属性页(图1)里的红色方框路径复制到程序中,加上反斜杠后跑程序会崩溃。此时是因为这样复制的路径可能存在非法字符,但是在IDE中又不显示,导致路径看起来是正确的,但实际上是错误的。可以尝试手动输入地址,也许问题就能解决。
图一 图片属性窗口
二、路径斜杠的问题
由于“\”在编程语言中是充当转义符号存在的,故图片路径中的“\”会被认为是转义符而并不是我们想象中的路径分割符,此时需要用“\\”来实现,第一个“\”代表转义,这样第二个“\”就会被识别为分隔符。如果不愿使用反斜杠,可以将反斜杠全部换为斜杠“/”输入。例如:
//使用反斜杠
imread("C:\\Users\\1.jpg")
imread("C:\Users\1.jpg") //错误的方式
//使用斜杠
imread("C:/Users/1.jpg")
三、附加依赖项的原因
在配置OPENCV环境的时候,如果将附加依赖项中的文件全部添加进去可能会存在一些错误,读图失败就是其中之一。
我的配置文件打开附件依赖项可以看到添加的是opencv_world430.lib,数字代表的是版本号,和我的不一样没有任何影响, 这个代表依赖项是在程序选择release版本时使用的,若你的程序选择的是debug版本,则应该选用opencv_world430d.lib。
来源:https://blog.csdn.net/xzq413520903/article/details/87932637
猜你喜欢
- 1.基于rbac的权限管理RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联
- 一、word转pdf先安装win32库:pip install pywin32from win32com.client import gen
- 看了群主最后成像的图片,应该是循环了36次画方框,每次有10度的偏移。当然不能提前看答案,自己试着写代码。之前有用过海龟画图来画过五角星、奥
- ASP有一个最重要的功能,就是它可以让你非常轻松地连接数据库。通常都是和一个Access或者一个SQL数据库相连。因为Access是最容易起
- 一个小需求---实现车牌识别。目前有两个想法1. 调云在线的接口或者使用SDK做开发(配置环境和编译第三方库很麻烦,当然使用python可以
- 在看到7yue博客——“换手来用”的思考 有这么一句话:RIA是一个更趋向于“体验”设计的领域,不仅仅包括“开发人员”,还包括“设计人员”,
- 一. 抛出异常Python用异常对象(exception object)表示异常情况,遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,
- 感谢Mr.Cool 给asp之家投递精彩的文章!站长你好,我经常光临你的站点,因为我也特别喜欢ASP写网页,你的站点上提供的代码比较适用哈,
- 做设计类网址导航的初衷是为了资源整合,也是在尝试解决问题。假定访问用户都是行业人士,或者目地性很强的有一定了解的用户,应该如何考虑这个组织系
- 1.字符串大小写转换string.title() #将字符串中所有单词的首字母以大写形式显示string.upper() #将字符串中所有字
- 本文实例讲述了django框架CSRF防护。分享给大家供大家参考,具体如下:CSRF防护一、什么是CSRF?CSRF: Cross-site
- 一、对列表(list)进行排序推荐的排序方式是使用内建的sort()方法,速度最快而且属于稳定排序>>> a = [1,9
- 从有道词典网页获取某单词的中文解释。import reimport urllibword=raw_input('input a wo
- 本文实例讲述了js捐赠管理完整实现方法。分享给大家供大家参考。具体实现方法如下:index.html页面如下:<!DOCTYPE ht
- 环境:Windows, Python2.7一维情况:<span style="font-size:14px;"&g
- 1. 新建.py文件# pip install kafka-pythonfrom kafka import KafkaConsumerimp
- 组合集总计: group by with rollup/cube grouping sets 子查询按执行方式分:标准子查询、关联子查询 标
- 队列是一种只允许在一端进行插入操作,而在另一端进行删除操作的线性表。在Python文档中搜索队列(queue)会发现,Python标准库中包
- 概述concurrent.futures 是 3.2 中引入的新模块,它为异步执行可调用对象提供了高层接口。可以使用 ThreadPoolE
- jQuery是最近比较火的一个JavaScript库,从del.icio.us/上相关的收藏可见一斑。到目前为之jQuery已经发布到1.2