文章目录
- 前言
- 相关介绍
- 一、函数方法
- 二、显示图片
- 四、写入图片
- 五、拍照读取
- 六、灰度处理
- 七、腐蚀处理
- 八、膨胀处理
前言
如果你是
使用python自带的IDLE时
,可以在cmd命令行窗口中输入pip install opencv-python
下载opencv-python
库后,使用指令import cv2
即可导入该模块。
在查看对应库的版本时可以调用库中的__version__
方法,有点奇怪的是安装好这个库后,
在pip list
里面却没有找到对应的库名,在使用时却可以被调用。
此篇文章将会不定期更新。
相关介绍
开/闭运算(python+opencv)
OpenCV—python 形态学处理(腐蚀、膨胀、开闭运算、边缘检测)
一、函数方法
img
和frame
类似,都是存储一张图片的数据,只不过图片来源不同。
函数方法 | 介绍 |
| 用于创建一个指定图片的实例化对象img |
| 用于创建摄像头的实例化对象(开启摄像头),传入值为0表示使用电脑自带的摄像头,值为1时表示使用USB接入的摄像头 |
cv2.imshow( | 将img对象对应的图像以窗口的形式显示出来 |
cv2.imwrite( | 将img对象对应的图像另存到新的路径 |
cv2.destroyAllWindows() | 消除此前创建的所有窗口 |
| 读取摄像头的一个帧,ret为布尔类型表示是否读取成功;frame为N维数组,存储图像的像素数据 |
| 对图像进行灰度处理 |
| 对图像进行灰度处理 |
| 释放摄像头实例对象cap(可关闭摄像头) |
| 对图像进行腐蚀处理, |
| 对图像进行膨胀处理, |
二、显示图片
# coding=utf-8
# 作者:小狐狸
import cv2
img = cv2.imread("fox.jpg") #创建实例对象
cv2.imshow("window",img) #显示图片
四、写入图片
# coding=utf-8
# 作者:小狐狸
import cv2
img = cv2.imread("fox.jpg") #创建实例对象
cv2.imwrite("fox.png",img) #写入图片
五、拍照读取
此步骤效果图就不展示了,你可以自行测试
当执行脚本的时候就会拍照,读取一个帧相当于拍照一次,如果需要多张图片时可以使用循环。
# coding=utf-8
# 作者:小狐狸
import cv2
cap = cv2.VideoCapture(0) #创建实例对象
ret,frame = cap.read() #读取摄像头的一个帧
if ret: #若读取成功时
cv2.imshow("window",frame)#显示图片
cap.release() #释放实例对象
六、灰度处理
# coding=utf-8
# 作者:小狐狸
import cv2
img = cv2.imread("fox.jpg") #创建实例对象
img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #图像灰度处理
cv2.imshow("window",img) #显示图片
七、腐蚀处理
图像
腐蚀
的原理请查看开/闭运算(python+opencv)
# coding=utf-8
# 作者:小狐狸
import cv2
import numpy
img = cv2.imread(f"fox.jpg") #创建实例对象
kernel = numpy.ones((5,5)) #卷积核
dst = cv2.erode(img,kernel) #腐蚀
cv2.imshow("window",dst) #显示图像
八、膨胀处理
图像
膨胀
的原理请查看开/闭运算(python+opencv)
# coding=utf-8
# 作者:小狐狸
import cv2
import numpy
img = cv2.imread(f"fox.png") #创建实例对象
kernel= numpy.ones((3,3)) #卷积核
time = 1 #膨胀次数
dst = cv2.dilate(img,kernel,time) #膨胀操作
cv2.imshow("window",dst)#显示图像