我想計算相機和識別的「物體」之間的距離。 例如,識別的「對象」是白板上的黑色矩形貼紙。我知道矩形(x,y)的值。相機與識別的「物體」之間的距離
有沒有一種方法可以用來計算與我原始矩形的值的距離,以及我用相機拍攝的矩形圖片的值?
我在論壇搜索了answeres,但沒有指定用這些屬性計算距離。
我正在從Aldebaran機器人工作一個名爲Nao的機器人,我打算使用OpenCV識別黑色矩形。
我想計算相機和識別的「物體」之間的距離。 例如,識別的「對象」是白板上的黑色矩形貼紙。我知道矩形(x,y)的值。相機與識別的「物體」之間的距離
有沒有一種方法可以用來計算與我原始矩形的值的距離,以及我用相機拍攝的矩形圖片的值?
我在論壇搜索了answeres,但沒有指定用這些屬性計算距離。
我正在從Aldebaran機器人工作一個名爲Nao的機器人,我打算使用OpenCV識別黑色矩形。
如果您可以計算目標圖像佔用的角度,那麼到目標的距離應該與該角度的cot
(即1/tan
)成比例。你會發現圖像中像素的數量大致對應於角度,但我懷疑它完全是線性的,尤其是近距離。
您的相機鏡頭的行爲可能會影響此測量,所以它將取決於您的確切設置。
爲什麼不測量多個距離處的目標尺寸,並繪製散點圖?然後,您可以對數據擬合曲線以獲得特定系統的尺寸 - >距離函數。如果您的相機接近「理想」相機,那麼您應該發現此圖看起來像cot
,並且您應該能夠找到您的值a
和b
以匹配dist = a * cot (b * width)
。
如果您嘗試這個實驗,爲什麼不在這裏發佈答案,讓其他人從中受益?
[編輯:關於「理想」攝像機紙條]
對於相機圖像看「現實」對我們來說,圖像應接近投射盈眼舉行了平面(因爲攝像機圖像查看由我們通過在我們眼前展示平面圖像)。想象一下,將一張描圖紙放在眼前,並在紙上勾畫出物體輪廓。關於this page的第二張圖顯示了我的意思。你可能會描述一個攝像頭,將其作爲「理想」攝像頭。
當然,在現實生活中,相機不能通過描圖紙工作,而是使用鏡頭。非常複雜的鏡頭。看看this page上的鏡頭圖。由於各種原因,你可以花一輩子學習,創建一個完全像追跡紙例子在所有條件下工作的鏡頭是非常棘手的。從this wiki page開始並閱讀,如果你想知道更多。
所以你不可能計算像素長度和距離之間的確切關係:你應該測量它並擬合曲線。
這是一個很大的話題。如果您想從單張圖像開始,請參閱A. Criminisi的this old paper。爲了深入瞭解,請閱讀他的博士論文。論文。然後在「投影幾何」部分開始玩OpenCV例程。
您提供的鏈接上沒有任何文檔。 是的,我會這樣做的。 – Silex
這是http://www.cs.illinois.edu/~dhoiem/courses/vision_spring10/sources/criminisi00.pdf –
我一直在研究圖像/對象識別。我剛剛發佈了一個可以識別對象,人物,汽車,書籍,標識,樹木,花朵的Python編程的Android應用程序(移植到Android)。任何東西:)它也顯示它的思維過程,因爲它「認爲」:) 我已經把它作爲一個在谷歌玩99美分的測試。 這裏是鏈接,如果你有興趣,還有一個在行動中的視頻: https://play.google.com/store/apps/details?id=com.davecote.androideyes
享受! :)
未找到鏈接.. – jagdish
矩形面向相機,或者它可能處於一個角度?無論哪種方式,我建議你從一個圓圈開始。 – Beta
它可能是一個角度,它不一定需要是一個矩形......關鍵是:如何根據2D形狀屬性的知識來測量2D對象與圖片之間的距離。 但我會保證你的建議!謝謝! – Silex