1 Star 0 Fork 8

欣欣然阿/opencv

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
_3cameo.py 2.94 KB
一键复制 编辑 原始数据 按行查看 历史
18151521911@163.com 提交于 2022-02-26 18:26 . Initial commit
# -*- coding: utf-8 -*-
"""
Created on Sat Apr 14 12:27:01 2018
"""
'''
OPenCV3 计算机视觉 笔记
第二章 : 处理文件,摄像头和图形用户界面
Cameo项目(人脸跟踪和图像处理)
'''
'''
采用面向对象设计方法
定义了Cameo类
'''
import cv2
from _2managers import CaptureManager,WindowManager
import time
import os
import _5filters
class Cameo(object):
def __init__(self):
#创建窗口管理器和视频捕获管理器
self.__window_manager = WindowManager('Cameo',self.on_key_press)
self.__capture_manager = CaptureManager(cv2.VideoCapture(0),self.__window_manager,True)
self.__filter = _5filters.SharpenFilter()
def run(self):
'''
运行主循环
'''
#创建窗口
self.__window_manager.create_window()
#循环捕获每一帧图像,并显示 直至窗口销毁
while self.__window_manager.is_window_created:
#获取一帧图像 并在指定的窗口显示
self.__capture_manager.enter_frame()
frame = self.__capture_manager.frame
'''
这里可以对这一帧图像进行处理
'''
_5filters.strokeEdges(frame,frame,blurKsize=5)
self.__filter.apply(frame,frame)
self.__capture_manager.exit_frame()
#执行键盘回调函数
self.__window_manager.process_event()
#销毁对象
self.__capture_manager.release()
def on_key_press(self,keycode):
'''
键盘事件回调函数
space -> 截屏
tab -> 开始/结束视频录制
escape->销毁窗体 并退出run()循环
'''
#获取当前时间
cur_time = time.strftime('%Y-%m-%d %H_%M_%S',time.localtime(time.time()))
dir_name = './cameo'
#文件保存目录
if not os.path.isdir(dir_name):
os.mkdir(dir_name)
cur_time = dir_name + '/' + cur_time
if keycode == 32: #space
#保存图片
self.__capture_manager.write_image(cur_time+'_screenshot.jpg')
print('截屏成功!')
elif keycode == 9: #tab
if not self.__capture_manager.is_writing_video:
#开始保存视频
self.__capture_manager.start_write_video(cur_time+'_.avi')
print('开始录制视频!')
else:
#停止保存视频
self.__capture_manager.stop_write_video()
print('视频录制结束!')
elif keycode == 27: #escape
self.__window_manager.destory_window()
print('关闭窗体!')
if __name__ == '__main__':
cameo = Cameo()
cameo.run()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/top_xiong/opencv.git
git@gitee.com:top_xiong/opencv.git
top_xiong
opencv
opencv
master

搜索帮助