opencv - 使用 Logitech C270 网络摄像头和 Opencv4 在图像捕获期间出现水平滚动条带?怎么修
问题描述
我正在尝试使用 240v LED 光源从 OPENCV v4.0 捕获网络图像来照亮现场。由于我在澳大利亚,我们的主电源为 50hz 并运行 Ubuntu 18.04
罗技 C270 网络摄像头似乎限制为 20fps,我很难获得清晰的图像,因为一旦 LED 亮起,水平条带会在显示窗口中向下滚动图像。
我尝试使用 v4l2-ctl 将电力线频率从 60hz 更改为 50hz 无济于事。当照明源是标准荧光灯时,不会出现条带。
可以在此处查看图像示例: https ://imgur.com/wyAN03X
非常感谢任何提示或提示。非常感谢,并希望你们在这个忙碌的时刻都平安无事。
从代码的角度来看,我没有做任何花哨的事情:
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 800)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 600)
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Display the resulting frame
#cv2.imshow('frame',gray)
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
V4ltc 导出可见下图: https ://imgur.com/hOZdvoP
解决方案
事实证明,这个问题没有解决方案,因为这个特殊的网络摄像头由于年代久远而最高速度为 30fps,而 LED 在澳大利亚的频率为 50hz。
移动到树莓派相机允许将 fps 设置为 50 从而解决问题。
推荐阅读
- android - 无法将“com.android.volley.ServerError”转换为“com.android.volley.NoConnectionError”
- c++ - 串联问题
- r - 基于预测矩阵的数据帧的自动子集化
- python - 从字典中的列表中删除方括号和逗号
- php - 如何仅在 PHP 中将数据库行转换为 JSON 值字符串?
- php - 错误:stdClass 类的对象无法转换为 int
- java - 具有多个配置的 Spring Boot 测试
- javascript - 如何在 ReactJS 中更改按钮文本
- elasticsearch - 从弹性搜索中过滤重复的 Like url
- spring - 使用 JPA 查询数据库以获取空值