【发布时间】:2020-07-27 00:12:40
【问题描述】:
import numpy as np
import cv2
imgL = cv2.imread("C:/Users/admin/jupyter/car/challenge_pictrue/right/right2.jpg ",0)
imgR = cv2.imread("C:/Users/admin/jupyter/car/challenge_pictrue/left/left2.jpg ",0)
cv2.imshow('imgL', imgL)
cv2.imshow('imgR', imgR)
stereo = cv2.StereoBM_create(numDisparities=16, blockSize=17)
disparity = stereo.compute(imgL, imgR)
disparity = cv2.normalize(disparity, disparity, alpha=0, beta=255, norm_type=cv2.NORM_MINMAX,
dtype=cv2.CV_8U)
cv2.imshow('disparity', disparity)
cv2.waitKey(0)
cv2.destroyAllWindows()
“我应该调整什么参数才能使结果正确?”
【问题讨论】:
-
结果有什么问题?为什么你认为它是错误的?
-
我看不清楚任何障碍物。所以我认为这是错误的。
-
您尝试在 StereoBM_create 的参数中进行哪些更改?您是否尝试过为 blockSize 使用更大的值?见docs.opencv.org/4.1.1/d9/dba/…
-
这篇论文的结果就是我想要的。 link。是的,我尝试改变blockSize,但汽车的信号会消失。其实我只是想看看任何障碍物,而不是空气和道路。
-
我认为您需要交换 imgL 和 imgR 中的文件。您已将 right2 分配给 imgL。