文章目录

  • 前言
  • 相关介绍
  • 一、函数方法
  • 二、显示图片
  • 四、写入图片
  • 五、拍照读取
  • 六、灰度处理
  • 七、腐蚀处理
  • 八、膨胀处理


前言

如果你是使用python自带的IDLE时,可以在cmd命令行窗口中输入pip install opencv-python 下载opencv-python库后,使用指令import cv2即可导入该模块。
在查看对应库的版本时可以调用库中的__version__方法,有点奇怪的是安装好这个库后,
pip list里面却没有找到对应的库名,在使用时却可以被调用。
此篇文章将会不定期更新。

相关介绍

opencv-python 4.4.0官方文档

开/闭运算(python+opencv)

OpenCV—python 形态学处理(腐蚀、膨胀、开闭运算、边缘检测)

一、函数方法

imgframe类似,都是存储一张图片的数据,只不过图片来源不同。

函数方法

介绍

img = cv2.imread(图片路径)

用于创建一个指定图片的实例化对象img

cap = cv2.VideoCapture(0)

用于创建摄像头的实例化对象(开启摄像头),传入值为0表示使用电脑自带的摄像头,值为1时表示使用USB接入的摄像头

cv2.imshow(窗口标题,img)

将img对象对应的图像以窗口的形式显示出来

cv2.imwrite(新图片路径,img)

将img对象对应的图像另存到新的路径

cv2.destroyAllWindows()

消除此前创建的所有窗口

ret,frame = cap.read()

读取摄像头的一个帧,ret为布尔类型表示是否读取成功;frame为N维数组,存储图像的像素数据

img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

对图像进行灰度处理

frame = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)

对图像进行灰度处理

cap.release()

释放摄像头实例对象cap(可关闭摄像头)

dst = cv2.dilate(img,kernel)

对图像进行腐蚀处理,kernel为卷积核(卷积核默认大小3*3),dst为生成的目标图片实例化对象

dst = cv2.dilate(img,kernel,time)

对图像进行膨胀处理,kernel为卷积核(卷积核默认大小3*3),time为膨胀次数,dst为生成的目标图片实例化对象

二、显示图片

python opencv教程 opencv- python_python opencv教程

# coding=utf-8
# 作者:小狐狸
import cv2
img = cv2.imread("fox.jpg") #创建实例对象
cv2.imshow("window",img) #显示图片

python opencv教程 opencv- python_opencv_02

四、写入图片

python opencv教程 opencv- python_opencv_03

# coding=utf-8
# 作者:小狐狸
import cv2
img = cv2.imread("fox.jpg") #创建实例对象
cv2.imwrite("fox.png",img) #写入图片

python opencv教程 opencv- python_计算机视觉_04

五、拍照读取

此步骤效果图就不展示了,你可以自行测试
当执行脚本的时候就会拍照,读取一个帧相当于拍照一次,如果需要多张图片时可以使用循环。

# coding=utf-8
# 作者:小狐狸
import cv2
cap = cv2.VideoCapture(0) #创建实例对象
ret,frame = cap.read() #读取摄像头的一个帧
if ret: #若读取成功时
    cv2.imshow("window",frame)#显示图片
cap.release() #释放实例对象

六、灰度处理

python opencv教程 opencv- python_计算机视觉_05

# coding=utf-8
# 作者:小狐狸
import cv2
img = cv2.imread("fox.jpg") #创建实例对象
img = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #图像灰度处理
cv2.imshow("window",img) #显示图片

python opencv教程 opencv- python_opencv_06

七、腐蚀处理

图像腐蚀的原理请查看开/闭运算(python+opencv)

python opencv教程 opencv- python_图像识别_07


python opencv教程 opencv- python_opencv_08

# 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教程 opencv- python_opencv_09

八、膨胀处理

图像膨胀的原理请查看开/闭运算(python+opencv)

python opencv教程 opencv- python_python opencv教程_10


python opencv教程 opencv- python_python opencv教程_11

# 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)#显示图像

python opencv教程 opencv- python_python opencv教程_12