簡體   English   中英

從左側切割OpenCV視差圖

[英]OpenCV disparity map is cut from left

我正在嘗試使用OpenCV 3.1在C ++中計算視差圖。 我使用StereoSGBM算法,我需要能夠識別遠和非常近的對象。 因此,我將MinDisparity設置為-16和MaxDisparity 160。

現在可以正確校准相機,但是從左側剪切得到的視差圖。 剪切量取決於MaxDisparity設置。

我會理解為什么關閉對象會發生這種情況。 僅僅因為第二張圖像上的一個圖像上的像素不可用。 但是對於更遠的物體,這不會發生。 在這種情況下,對象在兩個相機圖像中都是完全可見的,但在結果視差圖中不可見。

看這張圖片。 為什么我的手在結果上看不到? 在此輸入圖像描述

這個問題有什么解決方案嗎? 在高MaxDisparity設置的情況下計算所有可見區域的視差圖?

您面臨的問題是結果圖片中的差異數量。 SGBM搜索整個視差空間並嘗試在另一張圖片中找到最佳匹配。

拍攝右圖像的像素並將其與來自左圖像的視差范圍內的每個像素進行比較。 如果左圖像太小,則視差無效。 因此,左圖像中最左邊的176個像素被丟棄。

盡量減少最大差異和/或增加最小差異!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM