簡體   English   中英

用於從視頻饋送確定房間大小的算法

[英]Algorithm to determine size of a room from video feed

有沒有人知道一個圖像分析算法,通過這個算法,我可以確定一個房間在這個房間的一個(或多個)視頻錄像中有多大(大約在現實生活中的測量中,比如寬度,以米為單位)?

我目前正在使用OpenCV作為我選擇的圖像庫,但我在學習圖像分析算法方面並沒有走得太遠,只需要一個名字下降就可以了。

謝謝

編輯:好的,我剛從相關人員那里得到一點澄清。 我基本上無法控制如何拍攝視頻,也無法保證有多個數據源。 然而,我在房間里有一個點位置,我應該放置與這一點有關的東西。 因此,我可能會嘗試識別房間的邊緣,然后確定給定位置在房間內的程度,然后猜測房間的大小。

非常困難(但有趣!)問題。

如果您正在考慮以完全自動化的方式執行此操作,我認為您將遇到很多問題。 但我認為如果操作員可以在一組圖片中標記控制點,這是可行的。

當您從兩個或多個從不同視點拍攝的2D圖片中僅獲得這些點的位置時,您的問題可以更一般地說明為在3D空間中找到兩個點之間的距離。 這個過程或多或少會像這樣:

  • 圖片將附帶相機位置和方向信息。 例如,假設你得到兩張照片,相同的相機方向,兩張照片是用水平相距三英尺的相機拍攝的。 您必須為攝像機所在的3D空間定義參考原點,例如,您可以說左側圖像的攝像機位於(0,0,0),右側圖像位於(3,0, 0),兩者都將面向前方,這將是(0,0,1)的方向。 或類似的東西。
  • 現在,操作員在兩張照片中標出了房間的兩個角落。 因此,每個角落都有2組2D坐標。
  • 您必須知道相機和鏡頭的細節(視野,鏡頭失真,像差等)。 您對相機如何使圖像變形的了解越多,您的估算就越准確。 這是同樣的東西全景拼接軟件做到更好的縫合。 有關信息,請參閱PanoTools
  • 有趣的是:現在,您將對每個2D點進行透視投影的反轉。 透視投影在3D空間和相機定義中占據一個點並計算2D點。 這用於表示平面中的三維對象,如計算機屏幕。 與此相反,對於每個2D點,​​您將嘗試獲取3D坐標。 由於2D點中沒有足夠的信息來確定深度,因此從單個2D點可以做到的最好的事情是在3D空間中獲得穿過鏡頭並穿過相關點的線,但是您不知道距離鏡頭有多遠。 但是,您在兩個圖像中具有相同的2D點,因此您可以從不同的攝像機位置計算兩條3D線。 這些線不是平行的,因此它們將在一個點上相交。 3D線的交點將很好地估計3D點在空間中的位置,以及參考相機3D空間的坐標。
  • 其余的很容易。 當您擁有兩個興趣點的估計3D位置時,您只需計算它們之間的3D距離 ,這就是您想要的數字。

很簡單,對吧?

暫無
暫無

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

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