次で公開されているプログラムを参考に、ステレオ画像から距離画像を求める
https://github.com/opencv/opencv/blob/master/samples/python/stereo_match.py
【サイト内の関連ページ】
【サイト内の関連ページ】
【関連する外部ページ】
Python の公式ページ: https://www.python.org/
※ Windows では「python」,Ubuntu では「sudo python3 -m pip」
python -m pip install -U opencv-python opencv-contrib-python
import cv2 import numpy as np imgL = cv2.imread("C:/image/aloeL.jpg") imgR = cv2.imread("C:/image/aloeR.jpg") # disparity range is tuned for 'aloe' image pair window_size = 3 min_disp = 16 num_disp = 112-min_disp stereo = cv2.StereoSGBM_create(minDisparity = min_disp, numDisparities = num_disp, blockSize = 16, P1 = 8*3*window_size**2, P2 = 32*3*window_size**2, disp12MaxDiff = 1, uniquenessRatio = 10, speckleWindowSize = 100, speckleRange = 32 ) print('computing disparity...') disparity = stereo.compute(imgL, imgR).astype(np.float32) / 16.0 cv2.imshow('disparity', (disparity-min_disp)/num_disp) cv2.waitKey(0) cv2.destroyAllWindows()
画像が表示されるので確認. このあと,ウインドウの右上の「x」をクリックしない.画面の中をクリックしてから,何かのキーを押して閉じる