Jef*_*ote 1 python opencv resolution raspberry-pi4 picamera
我的问题是当我将分辨率设置为高于 640x480 时,输出颜色仅位于右下部分。输出的其余部分呈蓝色。
我有一个带有 4GB 内存的 RaspyberryPi4 和一个 PiCamera V2。最高分辨率下CPU占用率不超过~65%。同样的错误也出现在另一个 rapberrypi 及其 picamera (V2 NOIR) 上。
这是图像(不要关心角落里的白条:它们来自糟糕的屏幕截图)
这是我的 python 脚本:
import cv2
cap = cv2.VideoCapture(0)
width = 640; height = 480
# width = 1920; height = 1080
# width = 3280; height = 2464
cap.set(cv2.CAP_PROP_FRAME_WIDTH, width)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, height)
cv2.waitKey()
print(cap.get(cv2.CAP_PROP_FRAME_WIDTH),cap.get(cv2.CAP_PROP_FRAME_WIDTH))
while cap.isOpened():
ret, frame = cap.read()
cv2.imshow('Resolution: '+str(width)+'x'+str(height), frame)
if cv2.waitKey(25) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
我知道如果分辨率较高,我会失去较高的帧速率。
有人知道错误的根源可能是什么和/或我如何解决此错误?
问候
我自己来回答这个问题:主要问题是 picamera 硬件以及 Raspberry 如何通过 Gpu 读取它。
快速解决方案是将分辨率更改为 32 的倍数。对于 FullHd 情况,需要为 1920*1088,而不是 1920*1080。然后颜色又恢复正常了。
我还找出了 fps 下降之前的最高分辨率:
水平 1280*704
垂直 640*672
每个更高的分辨率都会将 fps 从 30+ 下降到 ~6-8。
检测/使用相机传感器的哪一部分也取决于分辨率。有关更多详细信息,请仔细阅读文档;-)
| 归档时间: |
|
| 查看次数: |
1004 次 |
| 最近记录: |