OpenCV 视频抓取
OpenCV , 摄像头视频抓取:
电脑可能会有几个摄像头,
注意指定摄像头:
capture = cv2.VideoCapture(1, cv2.CAP_DSHOW)
另外图像抓取后,是以每一帧 frame来 显示的,
要注意 frame 是否颠倒。
使用 flip 函数。
frame = cv2.flip(src,1)
1: 水平方向 180度
0:垂直方向 180度
-1:水平和垂直 180度
import cv2 import numpy as np def video_demo(): capture = cv2.VideoCapture(1, cv2.CAP_DSHOW) while True: ret, frame = capture.read() frame = cv2.flip(frame, 1) cv2.imshow("video", frame) c = cv2.waitKey(50) if c == 27: break 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) print("-------------Hello Python--------------") src = cv2.imread(r'F:\Python_AI\images\Rose001.jpg') cv2.imshow("image", src) get_image_info(src) # video_demo() gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY) cv2.imwrite(r'F:\Python_AI\Ret_Pic\gray.png', gray) cv2.waitKey(0) cv2.destroyAllWindows()
image.shape = (高度heigh,宽度width,通道数channels),宽度,高度为图片的像素。
image.size = 高度 * 宽度 * 通道数
image.dtype = uint8 ,8位无符号数的整数
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步