이미지는 아래 github에서 받으면 될 듯.
[링크 : https://github.com/canberkgurel/DisparityMapfromStereoPair]
import numpy as np import cv2 as cv from matplotlib import pyplot as plt imgL = cv.imread('my_photo-1.jpg', cv.IMREAD_GRAYSCALE) imgR = cv.imread('my_photo-2.jpg', cv.IMREAD_GRAYSCALE) stereo = cv.StereoBM_create(numDisparities=16, blockSize=5) disparity = stereo.compute(imgL,imgR) plt.imshow(disparity,'gray') plt.show() |
[링크 : https://docs.opencv.org/3.4/dd/d53/tutorial_py_depthmap.html]
blockSize는 홀수여야 한다고 한다
[링크 : https://makepluscode.tistory.com/108]
웹캠을 조금 옆으로 보내 찍고 대충 먼가 인식 가능하게 숫자 적절하게 맞춰서 해보았는데
안경만 도드라지는 느낌..
왼쪽은 16에 5
오른쪽은 16과 7로 설정.
+
2024.02.23
아래 이미지를 이용해서 3d 계산하고
[링크 : https://github.com/canberkgurel/DisparityMapfromStereoPair]
나온 depth map을 저장하고
depth 맵을 3d 이미지로 변환하면
멀 잘못 만들어 줬는지 z 축과 x 축이 뒤바뀡 모양
아무튼 두상과 램프 스탠드가 깊이로 인식된 것이 보인다.
'Programming > openCV' 카테고리의 다른 글
openCV stereo SBGM 예제, depth map을 imshow로 보기 (0) | 2024.02.26 |
---|---|
opencv stereo 계산 알고리즘 (0) | 2024.02.24 |
opencv 스테레오 사진 깊이 분석 전처리 - 렌즈 왜곡 보정 (0) | 2024.02.20 |
opencv 카메라 캡쳐 - 최신 이미지 갱신 (0) | 2024.01.25 |
opencv webcam 수동촛점 조절 (0) | 2024.01.25 |