opencv入门踩坑之路(一)
因为找了个实验室搬砖,所以我开始学opencv和pytorch了
嘿嘿嘿,感觉记录踩过的坑会很有意思嘻嘻嘻
首先是安装opencv,这个贼简单,我用的win10
直接命令行 pip install opencv-python,如果需要安装特定版本,可以pip install opencv-python==版本号,但是直接用默认安装最新版,它不香吗?
接下来测试一下是否成功
版本号出来就说明成功啦
接下来跑第一个demo
这个demo的作用是显示一张图片
from cv2 import cv2 as cv #print(cv.__version__) # 读取图片 参数1:图片路径, 参数2:读取的方式 img = cv.imread(‘d:/butterfly.jpg‘,cv.IMREAD_COLOR) # 显示窗口 参数1:窗口名称, 参数2:图片数据 cv.imshow("src",img) # 让程序处于等待推出状态 cv.waitKey(0) # 当程序推出时,释放所有窗口资源 cv.destroyAllWindows()
运行之后图片就出来了
(当初用matlab画的黄油飞嘿嘿嘿)
因为我是在vscode上写的,它会蜜汁报错告诉我cv2这个函数也没有那个函数也没有,虽然能跑,但是看起来贼难受,所以加了from cv2
当然要是偷懒完全可以直接import cv2,但是不觉得cv看起来更顺眼?
这里我碰到了第一个坑:图片路径不能有中文!
如果图片路径有中文的话,它会报这个错误:
error:(-215:Assertion failed)size.width>0 && size.height >0 in function ‘cv::imshow‘
还有人说必须要用绝对路径,我试了试,好像相对路径确实不行。。。但是看到有博主用相对路径完成了,咱也不知道为什么,就先凑合着用绝对路径吧
(不得不吐槽一句,这个报错信息真的令人费解,光看字面意思根本不知道在干嘛。。。让我想起了我写的垃圾编译器。。。)
接下来跑第二个demo
这个demo是把图片写入到磁盘中,据说还可以直接在内存中构建一张图片,以后就会了嘿嘿嘿
from cv2 import cv2 as cv img = cv.imread("d:/butterfly.jpg", cv.IMREAD_UNCHANGED) # 将图片写入到磁盘中,参数1: 图片写入路径,参数2: 图片数据 cv.imwrite("d:/butterfly_copy.jpg",img) cv.waitKey(0) cv.destroyAllWindows()
d盘就多出一个bufferfly_copy.jpg
接下来打算跑跑别的。。。但是,等我写完C0,考完OS再说吧,呜呜呜滚了