Odebranie streamingu video przy wykorzystaniu kamery monochromatycznej i openCV

0

Korzystam z kamery monochromatycznej oCAM-1MGNU-U i odczytuję po kolei ramki przy użyciu biblioteki openCV. Gdy wyrzucam klatkę na wyjście otrzymuje 3 zdjęcia zamiast 1. Wiem że ta kamera korzysta z 1 kanału, bo jest monochromatyczna.
Chce dostać na wyjściu tylko jedno zdjęcia, a nie 3.
Podobny problem jest tutaj, ale niestety nie pomogło: https://github.com/TheImagingSource/tiscamera/issues/20
Klatka po odebraniu ma shape: 480, 640, 3

Co probowałem: podzielic klatke i wyrzucić tylko jeden channel na wyjście ale nadal dostaję 3 zdjęcia. Także probowałem zmienić rozdzielczość zdjęcia ale to nie mialo najmniejszego sensu.

if __name__ == '__main__':
   cap = cv2.VideoCapture(1)    # Stream z kamery monochromatycznej
    while(cap.isOpened()):
        succes, frame = cap.read()
        if(succes):
            cv2.imshow('Orginal',frame) # dostaje 3 zdjęcia zamiast 1
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    cap.release()
    cv2.destroyAllWindows()
    print('End')
0
OłpenSiwi napisał(a):

Korzystam z kamery monochromatycznej oCAM-1MGNU-U i odczytuję po kolei ramki przy użyciu biblioteki openCV. Gdy wyrzucam klatkę na wyjście otrzymuje 3 zdjęcia zamiast 1. Wiem że ta kamera korzysta z 1 kanału, bo jest monochromatyczna.

To że kamera jest monochromatyczna nie oznacza, że korzysta z 1 kanału. Domyślnym trybem odczytu jest CAP_MODE_BGR czyli ma 3 kanały
Spróbuj to zmienić na CAP_MODE_GRAY

ret = cap.set(CAP_PROP_MODE, CAP_MODE_GRAY)

1 użytkowników online, w tym zalogowanych: 0, gości: 1