opencv实践中遇到的问题

问题1:

用opencv出现这样的错误:cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

二、原因及解决方案 可能错误如下,欢迎补充:

图片路径形式书写错误: 错误的形式:C:\Users\Desktop\test\ 正确的应该:C:/Users/Desktop/test/

注意:在程序中斜杠‘\’有转义字符含义

图片路径少写了一个斜杠(图片存放在test文件夹中) 错误:C:/Users/Desktop/test 正确:C:/Users/Desktop/test/

注意:千千万万不要忘了最后一个斜杠,不然读取的就变成了test这个文件夹而不是里面的图片了,因为一个不小心,我苦恼了两天,还以为是opencv的锅,尝试了无数种解决方案,仿佛一个白痴!!!

图片的格式不对! 注意:查看你的程序是否对要求的大小或者类型有所要求。

图片的数量不一致! 注意:查看你程序中是否有预先输入图片数量的参数,检查文件夹中图片数量和参数是否一致。

中文问题 注意:路径中、文件夹名称、图片名称都不要包含中文!.(编程中各种命名都尽量使用易懂的英文,实在不行用拼音hhh)

另外注意在使用

cv2.imread()与cv2.imwrite()时,其文件路径,都不能出现中文字符,不然会报错,保存图片也会失败

问题2:

cannot find reference 'xxx' in init.py-python

这是一个警告,不是程序错误,但是看着让人不舒服,想解决它

可能因为相应的包是pip下载的,不是在pycharm中下载的,导致不兼容,出现的警告

因此解决办法就是去pycharm中install一下就好了

 

最后点击所在窗口的右下角的install package

 

问题3:

出现报错:cv2.error: OpenCV(4.5.5) 👎 error: (-5:Bad argument) in function 'imshow'

这里是功能函数“imshow”出了问题,需要正确使用imshow的用法

None = imshow(winname, img)

函数 cv2.imshow() 在指定窗口中显示 OpenCV 图像,窗口自适应图像大小。

参数说明:

winname:字符串,显示窗口的名称。 img:所显示的 OpenCV 图像,nparray 多维数组。 注意事项:

函数 cv2.imshow() 之后要用 waitKey() 函数设定图像窗口的显示时长,否则不会显示图像窗口。 图像窗口将在 waitKey() 函数所设定的时长(毫秒)后自动关闭,waitKey(0) 表示窗口显示时长为无限。 可以创建多个不同的显示窗口,每个窗口必须命名不同的 filename。 可以用 destroyWindow() 函数关闭指定的显示窗口,也可以用 destroyAllWindows() 函数关闭所有的显示窗口。 基本例程:

# 1.6 图像的显示(cv2.imshow)
imgFile = "../images/imgLena.tif"  # 读取文件的路径
img1 = cv2.imread(imgFile, flags=1)  # flags=1 读取彩色图像(BGR)
img2 = cv2.imread(imgFile, flags=0)  # flags=0 读取为灰度图像
​
cv2.imshow("Demo1", img1)  # 在窗口 "Demo1" 显示图像 img1
cv2.imshow("Demo2", img2)  # 在窗口 "Demo2" 显示图像 img2
key = cv2.waitKey(0)  # 等待按键命令, 1000ms 后自动关闭
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值