简介
之前在做深度学习时调用过Opencv,但是从来没有认真总结过OpenCV图像处理的一些基本操作,这篇博客作为OpenCV图像处理的第一篇博客,以后会不断更新在学习计算机视觉的路上,在OpenCV上遇到的坑和解决办法。
图像读取和显示
OpenCV读取和显示图像的代码非常简单,如下所示:
src= cv2.imread('./test.png')
cv2.imshow('image',src)
cv2.waitKey(0)
第一次运行时第一行代码能够通过,但第二行报错如下:cv2.error: OpenCV(4.0.0) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:350: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'
。
最开始我以为是显示图像的问题,毕竟图像读取的那一句话通过了。但是分析时发现,图像读取后,src=NONE
,也就是说,其实我想要读取的图像并没有正确传入程序中。哦这时候我才发现,路径出错了。
也就是说,调用opencv,就算图像的路径是错的,OpenCV 也不会提醒你的,但是当你使用命令print img时得到的结果是None。
建议:写入文件路径时,最好用相对路径,绝对路径的可移植性不高,当文件位置在工程目录下发生变动时,会出现很多的小问题。