如果你是使用python自带的IDLE时,可以在cmd命令行窗口中输入pip install opencv-python 下载opencv-python库后,使用指令import cv2即可导入该模块。 在查看对应库的版本时可以调用库中的__version__方法,有点奇怪的是安装好这个库后, 在pip list里面却没有找到对应的库名,在使用时却可以被调用。 此篇文章将会不定期更新。
opencv-python 4.4.0官方文档
开/闭运算(python+opencv)
OpenCV—python 形态学处理(腐蚀、膨胀、开闭运算、边缘检测)
img和frame类似,都是存储一张图片的数据,只不过图片来源不同。
函数方法介绍img = cv2.imread(图片路径)用于创建一个指定图片的实例化对象imgcap = 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为生成的目标图片实例化对象此步骤效果图就不展示了,你可以自行测试 当执行脚本的时候就会拍照,读取一个帧相当于拍照一次,如果需要多张图片时可以使用循环。
# coding=utf-8 # 作者:小狐狸 import cv2 cap = cv2.VideoCapture(0) #创建实例对象 ret,frame = cap.read() #读取摄像头的一个帧 if ret: #若读取成功时 cv2.imshow("window",frame)#显示图片 cap.release() #释放实例对象图像腐蚀的原理请查看开/闭运算(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)#显示图像