[英]Stereo rectify - ROI have different sizes
我已經完成了立體聲校准,並且得到了validPixROI1和2(綠色邊框)。 現在,我想使用StereoSGBM,但是校准(來自stereoRectify)的rois大小不一樣。 有人知道如何解決嗎?
實際上,我對此做了一些聯系:
Rect roiLeft(...);
Rect roiRight(...);
Mat cLeft(rLeft, roiLeft);
//Mat cRight(rRight, roiRight); // not same size...
Mat cRight(cRight, roiLeft);
stereoBM(cLeft,cRight, dst);
如果我使用該投資回報率來裁剪圖像,圖片的中點會一樣嗎?
在這里工作。
為什么不對(未裁剪的)校准圖像運行stereoBM,那么之后可以使用這些ROI掩蓋結果的無效位...
stereoBM(rLeft,rRight, disp);
//get intersection of both rois or use target image roi, if you know the target image
cv::Rect visibleRoi = roiLeft & roiRight;
cv::Mat cDisp(disp,visibleRoi);
現在,使用不同大小的輸入或不同中心等都沒有問題。
干杯
在未裁剪的校正圖像上運行塊匹配器,然后使用。
cv::getValidDisparityROI(roi1, roi2, minDisparity, numberOfDisparities, SADWindowSize);
該調用返回一個cv :: Rect,它將成為左側圖像和視差圖中所有有效像素的邊界框。 有效像素僅是兩個攝像機都可以“看到”的像素(在遮擋的邊緣上為凹形)。
有了視差圖后,正確的圖像將變得無用。
請注意,從stereoRectify返回的ROI僅是從照相機內部函數重映射之后的有效像素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.