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


猜你喜欢
- 使用axios发送post请求出现400错误出现400状态码主要有两种原因1.bad request:“错误的请求&qu
- 不管何时何地,只要我们编程时遇到了跟时间有关的问题,都要想到 datetime 和 time 标准库模块,今天我们就用它内部的方法,详解py
- 概述今天我们要来做一个进阶的花分类问题. 不同于之前做过的鸢尾花, 这次我们会分析 102 中不同的花. 是不是很上头呀.预处理导包常规操作
- 1. 实例的背景说明假定一个个人信息系统,需要记录系统中各个人的故乡、居住地、以及到过的城市。数据库设计如下:Models.py 内容如下:
- 前言 PCA降维,一般是用于数据分析和机器学习
- 在为一个项目添加权限时,遇到一个问题,就是为项目所有的url设置权限,但是一个一个手动输入太麻烦了,所以考虑用代码获取到一个项目所有的url
- 最近朋友需要一个可以识别图片中的文字的程序,以前做过java验证码识别的程序;刚好最近在做一个python项目,所以顺便用Python练练手
- 车牌识别在高速公路中有着广泛的应用,比如我们常见的电子收费(ETC)系统和交通违章车辆的检测,除此之外像小区或地下车库门禁也会用到,基本上凡
- Pydub是一个基于ffmpeg的Python音频处理模块,封装了许多ffmpeg底层接口,因此用它来做音乐歌曲文件格式转换会非常方便,如果
- 本文实例讲述了Go语言压缩和解压缩tar.gz文件的方法。分享给大家供大家参考。具体分析如下:golang处理压缩包,最常用的就是tar.g
- 如下所示:import urllib.requestimport urllib.parseurl = 'https://weibo.
- 前沿对于iOS开发不要随便拆卸系统自带的Python,因为有很多 library 还是使用 Python2.7。1 安装Xcode1.1 A
- 安装环境:CentOS7 64位 MINI版官网源码编译安装文档:http://dev.mysql.com/doc/refman/5.7/e
- YUI3.2.0 的 transition 模块,通过使用 transition:end 事件实现在 transition 完成后执行其他操
- 在SQL Server数据库中,有min server memory与max server memory两个内存选项。数据库管理员合理设置这
- Python的functools模块中有一种函数叫“偏函数”,自从接触它以来,发现确实是一个很有用且简单的函数,相信你看完这篇文章,你也有相
- 之前都是直接拿sax,或dom等库去解析xml文件为Python的数据类型再去操作,比较繁琐,如今在写Django网站ajax操作时json
- python的uuid都是32位的,比较长,处理起来效率比较低,本算法利用62个可打印字符,通过随机生成32位UUID,由于UUID都为十六
- 本文实例代码主要实现的是python遍历文件目录的操作,有三种方法,具体代码如下。#coding:utf-8 # 方法1:递归遍历目录 im
- 目录1、sysbench介绍#项目下载地址:2、sysbench安装过程#安装相关依赖#安装过程开始#提示说明:#常规命令行选项#sysbe