You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派连接Imaginsource DFK 33UX178工业摄像头输出黑屏问题求助

解决方案

修复OpenCV脚本报错

报错AttributeError: __enter__由低版本OpenCV不支持VideoCapture上下文管理器导致,低于4.5.1版本的OpenCV未实现对应接口,需修改代码写法,修改后参考代码如下:

import cv2
import io
import numpy as np
import time

# 替换原with语句写法
camera = cv2.VideoCapture(0)
if not camera.isOpened():
    raise RuntimeError("无法打开摄像头")

# 设置分辨率
ret = camera.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
ret = camera.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
font = cv2.FONT_HERSHEY_SIMPLEX

try:
    stream = io.BytesIO()
    while(True):
        ret, frame = camera.read()
        if not ret:
            print("帧读取失败,退出")
            break

        frame_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
        frame_expanded = np.expand_dims(frame_rgb, axis=0)
        
        start_time = time.time()
        # 注:interpreter、labels、classify_image为原有业务逻辑定义,需确保对应依赖正常导入
        results = classify_image(interpreter, frame)
        elapsed_ms = (time.time() - start_time) * 1000
        label_id, prob = results[0]
        stream.seek(0)
        stream.truncate()
        
        cv2.putText(frame, labels[label_id],(30,50),font,1,(255,255,0),2,cv2.LINE_AA)
        cv2.imshow('Object detector', frame)
        
        if cv2.waitKey(1) == ord('q'):
            break
        
finally:
    camera.release()
    cv2.destroyAllWindows()

修复摄像头黑屏问题

黑屏根源是Windows下调整的摄像头参数(曝光、增益等)被存储在摄像头临时固件中,Linux默认UVC驱动不会主动重置这些参数,导致曝光值过低。按以下步骤操作即可修复:

  • 安装v4l2摄像头控制工具
    执行命令:sudo apt update && sudo apt install v4l-utils -y
  • 确认摄像头设备号
    执行命令:v4l2-ctl --list-devices,找到The Imaging Source Europe GmbH对应的设备路径,默认一般为/dev/video0,后续命令中如果你的设备号不同请自行替换。
  • 重置摄像头参数
    开启自动曝光:v4l2-ctl -d /dev/video0 --set-ctrl=auto_exposure=3
    调整曝光绝对值:v4l2-ctl -d /dev/video0 --set-ctrl=exposure_time_absolute=200
    调整增益:v4l2-ctl -d /dev/video0 --set-ctrl=gain=100
    调整完成后执行fswebcam test.jpg测试拍摄,可根据实际画面效果调整曝光和增益的数值。
  • 参数固化(可选)
    如果每次重新插拔摄像头后参数都会异常,可将上述set-ctrl命令写入开机启动脚本,或在调用摄像头的代码中先执行命令重置参数。

如果调整参数后依旧无法正常出图,可安装The Imaging Source官方提供的Linux设备驱动,适配性优于系统默认UVC驱动。

内容的提问来源于stack exchange,提问作者Meet Mangukia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:45:05