为什么要找对做网站的公司,做搜狗手机网站快速排,英语不行如何编程做网站,网站系统建设招标功能
1.按照指定的文件名创建文件夹#xff0c;创建之前判断该文件夹是否存在
2.调用摄像头按可调整窗口大小的方式显示
3.按esc退出摄像头画面
4.按p保存当前摄像头的画面#xff0c;并按当前时间为照片的名字进行保存打开终端查看是否有摄像头
ls /dev/video*一般video1就…功能
1.按照指定的文件名创建文件夹创建之前判断该文件夹是否存在
2.调用摄像头按可调整窗口大小的方式显示
3.按esc退出摄像头画面
4.按p保存当前摄像头的画面并按当前时间为照片的名字进行保存打开终端查看是否有摄像头
ls /dev/video*一般video1就是usb摄像头
代码
import cv2
import datetime创建文件夹函数
# 创建文件夹函数
import os
def create_directory(directory_name):# 获取当前路径path os.getcwd()# 拼接完整的路径full_path os.path.join(path, directory_name)# 检查文件夹是否存在if not os.path.exists(full_path):print(f文件夹 {directory_name} 不存在现在创建。)os.makedirs(full_path)else:print(f文件夹 {directory_name} 已经存在。)return full_path显示摄像头画面并按p拍照函数
def view_video(video_path):# 设置显示窗口的大小width,height 800,600video cv2.VideoCapture(video_path)if video.isOpened():把摄像头设置为1980 x 1080video.set(cv2.CAP_PROP_FRAME_WIDTH,1920)video.set(cv2.CAP_PROP_FRAME_HEIGHT,1080)video.set(cv2.CAP_PROP_FOURCC,cv2.VideoWriter.fourcc(M,J,P,G))video.read() 一帧一帧地读取open 得到的是一个布尔值就是 True 或者 Falseframe 得到当前这一帧的图像open, frame video.read()else:open Falsewhile open:ret, frame video.read()# 如果读到的帧数不为空那么就继续读取如果为空就退出if frame is None:breakif ret True:# cv2.resizeWindow(video,width,height)cv2.namedWindow(video,cv2.WINDOW_NORMAL)cv2.imshow(video, frame)# 按下p键进行拍照if cv2.waitKey(50) 0xFF ord(p):print(按下p键进行拍照)current_time datetime.datetime.now().strftime(%Y-%m-%d_%H-%M-%S)# 保存当前帧为图片file_name f{current_time}.jpg# 调用函数创建名字为photo的文件夹path create_directory(photo)photo_path os.path.join(path, file_name)cv2.imwrite(photo_path, frame)print(f当前帧已保存为 {file_name})# 这里等于 27 也即是说按下 ESC 键即可退出该窗口# 这里使用 waitKey 可以控制视频的播放速度数值越小播放速度越快if cv2.waitKey(50) 0xFF 27:breakvideo.release()cv2.destroyAllWindows()# usb摄像头的id为1
view_video(1)
相关文章: