opencv入门踩坑之路

Posted pinezhuo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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再说吧,呜呜呜滚了

以上是关于opencv入门踩坑之路的主要内容,如果未能解决你的问题,请参考以下文章

《OpenCV竟然可以这样学!成神之路终将不远 | 寻找C站宝藏》

OpenCV竟然可以这样学!成神之路终将不远(十七)

webpack之polyfill踩坑之路

opencv学习-入门系列汇总

OpenCV竟然可以这样学!成神之路终将不远(十七)

OpenCV竟然可以这样学!成神之路终将不远