各位亲爱的读者,博主:
首先恭喜大家,涵子来信已经到达第二季——2023年篇。今天,我们要步入机器学习的初级内容:python opencv图片!
目录
一、提前准备
二、程序代码学习
2.1.如何读取图片
2.2.显示图片
三、资料与问题参考
3.1.错误参考
3.1.1.我发现代码报错,代码检查过,没有问题,这是怎么回事?
3.1.2我图片明明有,但是显示不出来,怎么回事
3.2.资料参考
一、提前准备
首先opencv这个库并不是自带的,所以我们要pip一下。内容如下
pip install opencv-python
注意不要写成opencv哦!它还会自己安装另一个依赖库,numpy,如果运行后面的程序时报错说没有numpy这个库,试着用这段代码pip:
pip install numpy
如果版本太低,请升级python和pip,建议使用python3.9,python3.10或者3.11可能不兼容。
二、程序代码学习
2.1.如何读取图片
首先,我们得要知道为什么要装numpy,不是只需要opencv吗?这个嘛,下一章再讲...
想要处理图片,就得先要读取图片,这是人人皆知的事情。程序的第一步,是导入库:
import cv2
⚠注意:import时就不是opencv-python或者opencv了,要用cv2了!
英语课代表们,image认识吧!image缩写就是img,再缩一点就是im,加个read,哎,这就是opencv读取图片的函数名称了!
cv2.imread(pic_path)
加入了路径后是这样的:
cv2.imread("C:\Users\用户名\Desktop\pic.png")
在用的时候就要自己注意,改成正确的路径。
恭喜你成功读取了你的图片。
Tips:可以让这个图片作为一个变量重复使用!
pic = cv2.imread("C:\Users\用户名\Desktop\pic.png")
2.2.显示图片
光读取不行,还得显示哪。所以我们要用一个函数,imshow!
cv2.imshow(window_name, pic)
cv2.imshow('demo', pic)
效果如下:
为了防止自动退出(pycharm可能会发生),所以可以在代码后面加入:
cv2.waitKey(0)
整个代码如下:
import cv2
img = cv2.imread(r'C:\Users\用户名\Desktop\pic.jpg')
cv2.imshow('demo', img)
cv2.waitKey(0)
恭喜你走出了第一步!
三、资料与问题参考
3.1.错误参考
3.1.1.我发现代码报错,代码检查过,没有问题,这是怎么回事?
这个错误可能是这个:(只需要看cv2.error的这一行)
Traceback (most recent call last):
File "C:\Users\用户名\Desktop\test.py", line 3, in <module>
cv2.imshow('demo', img)
cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:971: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'
这就很奇怪了是不?这是因为你的路径中有中文,这就是opencv的致命弱点,路径不能有中文!
3.1.2我图片明明有,但是显示不出来,怎么回事
这就比较少见,可能是因为你的图片格式比较冷门,或者是错误的,所以无法显示。
3.2.资料参考
关于numpy的内容,可以抢先去菜鸟编程里抢先阅读!
NumPy 教程 | 菜鸟教程 (runoob.com)https://www.runoob.com/numpy/numpy-tutorial.html如果你有更多奇怪的问题,请留言在评论区。最后希望大家多多关注,点赞,收藏,我们下一期再见!
涵子
2023/1/11