import cv2 as cv #调用cv2(opencv)这个库并定义为cv import numpy as np #调用numpy这个库并定义为np def video_demo(): #自定义一个函数video_demo capture = cv.VideoCapture(0) #打开摄像头用来捕捉视频,0是笔记本自带的摄像头,外接的为1 while(True): ref,frame = capture.read() #调用摄像头 frame = cv.flip(frame,1) #cv.flip()图像翻转 cv.imshow('1',frame) #输出图像,第一个为窗口的名字 c = cv.waitKey(100) #100s显示图像 if c == 27: #27是ascll值代表esc键 capture.release() #关闭 break def get_image_info(image): print(type(image)) print(image.size) #输出image的大小 print(image.shape) #输出image的高宽通道数 print(image.dtype) #输出image的格式 pixel_data = np.array(image) print(pixel_data) src = cv.imread("D:pythonpicture/timg.jpg") cv.namedWindow("input image",0) #为0是可以用鼠标控制窗口大小,为1则不能 cv.imshow("input image",src) video_demo() get_image_info(src) gray = cv.cvtColor(src,cv.COLOR_BGR2GRAY) #把src转化为灰度图像 cv.imwrite('D:pythonpicture/result.png',gray) #把gray以png的格式存在...地址下 #下面两行代码是为了让图像一直显示而不是一闪而过 cv.waitKey(0) cv.destroyAllWindows()
中途遇到的错误:
1.摄像头无法打开(可以正常调用摄像头就是没图像)——正常调用说明函数没错代码没错,把摄像头卸载了重新装
2.关闭窗口是按两次esc键