虽然OpenCv主要是基于C/C++的,但是也支持Python。基本操作与OpenCv C++有点类似。
主要说明都已加注释…
图像加载与保存
import cv2 as cv
import numpy as np #跟Mat()类似,但Python不用Mat()
def get_image_info(image): #图像信息
print(type(image))
print(image.shape) #图像形状,会读出宽、高、通道数
print(image.size)
print(image.dtype)
pixel_data=np.array(image)
print(pixel_data)
def video():
capture=cv.VideoCapture(0)#直接读摄像头,“0”表示如果电脑有3个摄像头,从0、1、2开始读
'''VideoCapture可以读视频,把"0"替换为视频路径就可以,
但是,OpenCv主要是对视频一帧一帧进行读取,进行对象跟踪,对象检测等
操作,所以,读取的视频是没有声音的。
'''
while(True):
ret,frame=capture.read()
frame=cv.flip(frame,1) #flip,视频左右调换
cv.imshow("video",frame)
c=cv.waitKey(50)
if c==27:
break
src = cv.imread("D:/test/duola.jpg")
dst=cv.cvtColor(src,cv.COLOR_BGR2GRAY)
cv.imshow("input title",dst) #显示灰度图像
get_image_info(dst)
video()
cv.waitKey(0)
cv.destroyAllWindows()
运行结果: