1.opencv基础
1.opencv基础
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。 In [1]:import cv2 as cv #读出video #打开指定路径下的视频文件:cap =cv2.VideoCapture(path) #读取每一帧:flag,frame = cap.read(),打开视频并读取每一帧图片,将视频转换为4维的矩阵 def video_demo(): cap=cv.VideoCapture(0) while(1): # get a frame ret, frame = cap.read()#frame是每一针 #视频左右镜像打开,参数是1 frame=cv.flip(frame,1) # show a frame cv.imshow("capture", frame) cv.waitKey(50) # c=cv.waitKey(10)#延时50ms,等待键盘输入返回对应的ASCII #if c==27: #其中27是ESC的意思,ASCII十进制的表示方法 if cv.waitKey(20)&0xFF == ord('q'): break #如果在输入q后仍然无法中断摄像头,把cv.waitKey时间延长一点即可 #0xFF == ord('q')是键盘接收命令q时退出, #0xFF位掩码是d对应十进制255,二进制1111 1111,只有后8位实际有效,为避免产干扰,通过 ‘与’ 操作将其余位置0。 #ord('q'):返回q对应的Unicode码对应的值,q对应的Unicode数值为113。ord()是返回字符对应的整数 #查看图片信息 def get_image_info(image): print(type(image)) print(image.shape) print(image.size) print(image.dtype) print("----hello----") #读取图片 src=cv.imread("aaa.png",cv.WINDOW_AUTOSIZE) #窗口名字 cv.namedWindow("picture1",0) #显示图片窗口 #如果名字是中文则文件上要加上 # -*- coding=GBK -*- # 如果不加会报错,如果加的是 # -*- coding: utf-8 -*-,虽然不会报错,但会是乱码 cv.imshow("picture1",src) # 创建窗口,其实不写这行代码也可以show出来。单位mshttp://localhost:8889/notebooks/%E5%93%94%E5%93%A9%E5%93%94%E5%93%A9%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/OPENCV/1.opencv%E5%9F%BA%E7%A1%80.ipynb# cv.waitKey(1000)#参数为0,就是窗口一直显示 #关闭窗口 cv.destroyAllWindows()#删除建立的全部窗口,释放资源 get_image_info(src) #保存图片 cv.imwrite("./test1.png",src) #显示灰度图 gray=cv.cvtColor(src,cv.COLOR_BGR2GRAY) cv.namedWindow("picture2",0) cv.imshow("picture2",gray) cv.waitKey(5000) cv.destroyAllWindows()
----hello---- <class 'numpy.ndarray'> (96, 89, 3) 25632 uint8In [2]:
video_demo() cv.waitKey(1) #如果没下面的指令也会造成,在获取键盘指令后,窗口无法完全关闭 cv.destroyAllWindows()#删除建立的全部窗口,释放资源

更多精彩