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

背景

我们的相机与闪光灯之间必须实现精密的同步,以防止时序上的任何偏差导致成像出现问题,比如生成黑暗的照片。为此,我们计划开发一个自动化测试工具,它能检测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)即可;
相关推荐
Hi202402171 小时前
Vortex CUDA 生态适配:让 CUDA C、CUTLASS 与 Triton 在 RISC-V GPGPU 上运行
人工智能·risc-v·gpgpu
龙腾AI白云4 小时前
AI检索增强生成(RAG):解决大模型幻觉的核心落地技术
数据库·人工智能·机器学习·知识图谱
云票4 小时前
企业对接AI合同审查系统的工程实践
人工智能
admin and root5 小时前
「AI安全篇」实战AntiDebug自动化JS逆向加解密MCP
javascript·人工智能·网络安全·自动化·漏洞挖掘·cnvd·src赏金
智能RPA5 小时前
智能体自动化平台与主数据管理平台(MDM)对比评测
人工智能·自动化·agent·rpa
跨境小彭5 小时前
Temu拉美站点铺货实操复盘:手动复制痛点与批量自动化解决方案
服务器·人工智能·搜索引擎·自动化·temu电商运营
封印师请假去地球钓鱼5 小时前
边解边变的问题:从“决策依赖“一词出发
人工智能·算法
AI搅拌机6 小时前
ComfyUI管理大师:安全稳定升级+切换指定版本!
人工智能
浅安的邂逅6 小时前
20929-OpenAI 一天踩三脚急刹:暂停前沿训练、叫停 Astra、披露越权访问澳政府网站
人工智能·大模型·ai编程·行业动态·ai日报
Qyr996 小时前
2026-2032直接芯片液冷板市场爆发式增长:AI算力浪潮下的热管理核心赛道
大数据·人工智能