공개를 원하지 않는 문의 사항은 withrobot@withrobot.com 으로 메일 주시기 바랍니다.

oCamS-1CGN-U window python 좌우 영상 분리

작성자
kyun
작성일
2021-04-29 01:17
조회
303
안녕하세요 스테레오 카메라 좌우 영상을 분리하는 python 코드를 이전 Q&A 답변을 검색해 다운받아보았습니다. (하단 코드)

그런데 코드를 보니  videocapture를 한번하고  cv2.imshow 를 2번 하더라구요.

  1. 혹시 videocapture를 좌우 2개를 따로 하는 방법은 없을까요?


제가 depth를 추출하고자 하는데 제가 가진 코드는 영상을 2개로 따로 videocapture하더라구요.

합쳐진 영상보다는 각각의 영상을 추출하고 싶습니다.

2. 그리고 저 코드에서 cap_right와 cap_left은 영상을 하나로 얻었는데 어떤 과정을 거쳐 분리된건가요?

원리가 궁금합니다. 특히 reshape_buffer = buff.reshape(height,width,2) 이 코드를 알고 싶습니다.

3. 혹시 window python 에서 depth를 추출하는 예제 코드가 있을지도 여쭤보고 싶습니다.
#!/usr/bin/env python
import cv2
import numpy as np
print(cv2.__version__)
# print(cv2.getBuildInformation())
if __name__ == '__main__':
try:
cap = cv2.VideoCapture(0)
except:
print("Please Check your Camera")
else:
print("start capture")
width = 640
height = 480
cap.set(cv2.CAP_PROP_CONVERT_RGB, 0.0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, width)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, height)
while(True):
try:
ret, buff = cap.read()
except:
print("Fail to read Frame")
break
else:
if buff is None:
break
reshape_buffer = buff.reshape(height,width,2)
bayer_right, bayer_left = cv2.split(reshape_buffer)
cap_right = cv2.cvtColor(bayer_left, cv2.COLOR_BAYER_GB2BGR)
cap_left = cv2.cvtColor(bayer_right, cv2.COLOR_BAYER_GB2BGR)
cv2.imshow('left frame', cap_right)
cv2.imshow('right frame', cap_left)
key = cv2.waitKey(5)
if key & 0xFF == ord('q'):
break
cap.release()