opencv错误列表

1. 编译第一个opencv程序,出现了如下的错误。

1>openCVTest.obj : error LNK2019: 无法解析的外部符号 _cvReleaseImage,该符号在函数 _wmain 中被引用
1>openCVTest.obj : error LNK2019: 无法解析的外部符号 _cvDestroyWindow,该符号在函数 _wmain 中被引用
1>openCVTest.obj : error LNK2019: 无法解析的外部符号 _cvWaitKey,该符号在函数 _wmain 中被引用
1>openCVTest.obj : error LNK2019: 无法解析的外部符号 _cvShowImage,该符号在函数 _wmain 中被引用
1>openCVTest.obj : error LNK2019: 无法解析的外部符号 _cvNamedWindow,该符号在函数 _wmain 中被引用
1>openCVTest.obj : error LNK2019: 无法解析的外部符号 _cvLoadImage,该符号在函数 _wmain 中被引用
这种错误很大概率是因为需要的库并没有添加进去,但是我仔细检查了好几遍,需要的opencv的库我都添加了。鼓捣了半天,最后发现原来是我的配置设错了,我的电脑是64位的,但却设置成了win32。修改方法为在配置中添加一个x64的选项,然后应用该选项即可。

2. fatal error C1010错误,具体错误信息如下:

detection.cpp(11): fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "StdAfx.h"”?
解决方法,进行如下图所示的修改。将预编译头选项由“使用(/Yu)”改为“不使用预编译头”

3. 在Visual Studio中读取文件或者haarcascade_frontalface_alt.xml时文件的格式问题。正确的路径格式应为"C:/path"或者为"C:\\path",Windows下默认的"C:\path"这样的格式是错误,会导致一些读取文件上的错误。

4. Error opening file (../../modules/highgui/src/cap_ffmpeg_impl.hpp:529)错误

主要原因是读取的文件的路径不正确,结合第三个错误进行改正。

5. 通过cv.cvtColor()函数将图像转为灰度图像时发生错误,错误信息如下:

OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::cvtColor, file ........\opencv\modules\imgproc\src\color.cpp, line 3737 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.error: ........\opencv\modules\imgproc\src\color.cpp:3737: error: (-215) scn == 3 || scn == 4 in function cv::cvtColor
错误原因是因为你的输入文件不合法,正确的image应该至少有3或者4个channel,但是我通过image.shape只显示为2,说明它是一个灰度图像。奇怪的是我读入的文件确实是一个彩色图像,怎么会显示是灰度图像呢?然后我尝试把读取的图像再通过cv2.imwrite()函数写出来,果然重新写出来的图像是一张灰度图像,那到底是哪个地方出的错?因为cv2.cvtColor()前面就只有一个cv2.imread()的函数,莫非是该函数读取图像时出的问题?该函数只有两个参数,第一个是要读取的图像的路径,第二个是个0。但是自己对这第二个参数0却是不明觉厉,究竟这个参数是干啥用的。赶紧上网查找,果然是这个0搞的鬼。

Python:cv2.imread(filename[, flags])

这是该函数的语法。这个flags参数指定加载图像的color类型:如果大于0,返回一个3通道的彩色图像;如果为0,返回一个灰度图像;如果小于0,则返回加载的图像本身(with alpha channel)。

将第二个参数0去掉后,果然问题就解决了。

6. imread()读取错误

首先看看是不是文件的路径错误,如果路径正确的情况下仍然出现错误,很有可能是配置opencv的dll的问题,比如你的程序运行的是debug,但是opencv的dll却是release版本;或者运行的是release,但是opencv的dll却是debug版本。一句话就是运行和dll的版本不匹配。


  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值