有时笔记本在公共场合使用,人离开了笔记本,又想知道有没有人偷看自己笔记本的内容,或者为了监控在公共场所的情况。为此,我写了一段python程序,利用cv2拍照,监控在笔记本前的情况,5分钟拍照一次,如果是夜晚,拍摄的照片是黑色的,选择不保存。程序如下:
# -*- coding: utf-8 -*-
"""
Created on Thu Jun 6 08:09:26 2024
@author: YBK
"""
import cv2
import time
import datetime
from io import BytesIO
from PIL import Image
def is_photo_black(image_path):
# 打开图片
with Image.open(image_path) as img:
# 将图片转换为灰度模式
gray_img = img.convert('L')
# 计算平均亮度
avg_brightness = sum(gray_img.getdata()) / (gray_img.width * gray_img.height)
# print(avg_brightness)
# 如果平均亮度低于某个阈值(例如5),则认为图片基本是黑色的
return avg_brightness < 30
# 设置拍照参数
frame_width = 960
frame_height = 540
while True:
# 初始化摄像头
cap = cv2.VideoCapture(0) # 0 通常是默认摄像头的标识
# 检查摄像头是否成功打开
if not cap.isOpened(