Ошибка баланса белого / синего в высоком разрешении с opencv и picamera (V2) - PullRequest
0 голосов
/ 02 апреля 2020

Моя проблема в том, что, когда я установил разрешение выше 640x480, выходные цвета только в нижней части справа. Остальная часть вывода имеет цвет bluei sh.

У меня есть RaspyberryPi4 с 4 ГБ оперативной памяти и PiCamera V2. Загрузка процессора составляет не более ~ 65% с самым высоким разрешением. Такая же ошибка появляется и на другом Rapberrypi и его Picamera (V2 NOIR).

Вот изображения (не заботятся о белых полосах в углу: они пришли из-за плохого снимка экрана)

640x480 - обычный

1920x1080 - с ошибкой

3280x2464 - с ошибкой

Вот мой python script:

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()

Я знаю, что с более высоким разрешением я потеряю более высокие частоты кадров.

У кого-нибудь есть представление о том, каким может быть источник ошибки и / или как я могу устранить эту ошибку?

С уважением

...