0

私の問題は、解像度を640x480より高く設定すると、出力色が右下にしか表示されないことです。出力の残りの部分は青みがかった色になります。

私は 4GB の RAM と PiCamera V2 を搭載した RaspyberryPi4 を持っています。CPU 使用率は、最高の解像度で ~65% 以下です。別の rapberrypi とその picamera (V2 NOIR) でも同じエラーが表示されます。

これが画像です(隅の白いバーは気にしないでください。スクリーンショットが悪いためです)

640x480 - 通常

1920x1080 - エラーあり

3280x2464 - エラーあり

ここに私の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()

解像度が高いと、フレームレートが高くなることはわかっています。

エラーの原因が何であるか、および/またはこのエラーを解決する方法を知っている人はいますか?

よろしく

4

1 に答える 1

2

私は自分で質問に答えます: 主な問題は picamera ハードウェアと、Raspberry が GPU を介してそれを読み取る方法です。

迅速な解決策は、解像度を 32 の倍数に変更することでした。FullHd の場合、1920*1080 ではなく 1920*1088 にする必要があります。その後、色は再び正常になります。

また、fps が低下する前に最高の解像度を 見つけ
ます 。

カメラセンサーのどの部分が検出/使用されるかは、解像度にも依存します。詳細については、ドキュメントを注意深く読んでください ;-)

Picamera 公式ドキュメント

于 2020-05-20T05:15:26.850 に答える