【自动化测试】拍照与闪光灯联动测试

背景

我们的相机与闪光灯之间必须实现精密的同步,以防止时序上的任何偏差导致成像出现问题,比如生成黑暗的照片。为此,我们计划开发一个自动化测试工具,它能检测10万张图片中是否存在暗图现象。

代码

python 复制代码
import cv2
import numpy as np

def process_frame(frame):
    # 你的帧处理代码
    return cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

def is_dark(frame, threshold=30):
    """
    检查图像是否暗。
    :param frame: 灰度图像。
    :param threshold: 判断图像为暗图的亮度阈值。
    :return: 如果图像暗返回True,否则返回False。
    """
    if len(frame.shape) == 2 or frame.shape[2] == 1:
        gray_frame = frame
    else:
        gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    average_brightness = np.mean(gray_frame)
    return average_brightness < threshold

def main():
    rtsp_url = "rtsp://192.168.1.6/live/ch00_0"  # 替换成你的RTSP流地址
    cap = cv2.VideoCapture(rtsp_url)

    if not cap.isOpened():
        print("无法打开视频流或文件")
        return

    while True:
        ret, frame = cap.read()
        if not ret:
            break

        processed_frame = process_frame(frame)

        # 检查当前帧是否过暗
        if is_dark(processed_frame):
            print("检测到暗图")

        # 显示处理后的帧
        cv2.imshow('Processed Frame', processed_frame)

        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    cap.release()
    cv2.destroyAllWindows()

if __name__ == "__main__":
    main()

注意 FAQ

  1. 当您注释掉if cv2.waitKey(1) & 0xFF == ord('q'): 这行代码后,遇到的问题可能是由于缺少了 OpenCV 窗口的更新机制。在 OpenCV 中,cv2.waitKey() 函数不仅用于检测按键输入,还负责处理窗口的事件,比如刷新显示的图像;如果不需要退出机制,可以修改为 cv2.waitKey(1)即可;
相关推荐
六月的可乐几秒前
Vue接入AI聊天助手实战
前端·vue.js·人工智能
赴3352 分钟前
dlib库关键点定位和疲劳检测
人工智能·opencv·计算机视觉·关键点·疲劳检测·dlib
汀丶人工智能18 分钟前
AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-Liv
人工智能
唐天下文化19 分钟前
展厅迎宾机器人:豹小秘2如何打造科技第一印象
人工智能·科技·机器人
qiu_zhongya1 小时前
iree 用C++来运行Qwen 2.5 0.5b
开发语言·c++·人工智能
拾贰_C1 小时前
【anaconda】anaconda安装配置,git安装配置以及pytorch安装
人工智能·pytorch·git
荼蘼1 小时前
Dlib+OpenCV 人脸轮廓绘制
人工智能·opencv·计算机视觉
九河云1 小时前
物流仓储自动化升级:物道供应链 AGV 机器人实现分拣效率提升 60%
人工智能·科技·物联网·机器人·自动化
正点原子1 小时前
正点原子 x STM32:智能加速边缘AI应用开发!
人工智能·stm32·嵌入式硬件
金井PRATHAMA1 小时前
GraphRAG(知识图谱结合大模型)对人工智能中自然语言处理的深层语义分析的影响与启示
人工智能·自然语言处理·知识图谱