一般:我希望我要描述的用例是一個光流問題的簡單情況,因爲我對這個主題沒有太多的知識,所以我想知道如果有人對我如何解決我的問題有任何建議。光流的簡單情況
研究,我已經做了:我已經開始閱讀High Accuracy Optical Flow Estimation Based on a Theory for Warping紙,就準備看在Particle Video紙。我發現一個MATLAB High Accuracy Optical Flow實現光流。然而,論文(和代碼)似乎描述了非常複雜的概念,可能需要很多時間才能深入並理解。我希望解決我的問題可能更簡單。
問題:我有一系列圖像。圖像描繪了材料破損過程,其中材料和背景是黑色的且裂縫是白色的。我有興趣反向掃描圖像序列,試圖將破損過程中形成的所有裂紋映射到第一張黑色圖像。你可以將這些材料想象成一個巨大的謎題,我試圖將這些材料以相反的順序放回到原來的位置。
在每個圖像中,可能會出現一些剛剛出現的裂縫和/或已經完全形成的裂縫(從而產生碎片)。在整個破碎過程中,一些碎片可能會分離並進一步破碎。碎片也可以彼此遠離(後續幀之間的變化很小)。
所需輸出:序列中的所有裂紋/線條都映射到序列中的第一個圖像。
附加說明:圖像以灰度格式(即原始)以及二進制格式提供,其中裂縫已用白色表示並且背景爲完全黑色。請參閱下面的一些圖像示例。
頂行示出了原始圖像和底部行示出了二值圖像。正如你所看到的,隨着圖像序列的進展,中間的裂縫會越來越寬。因此,底部裂縫與下部碎片一起移動。當逆向遍歷序列時,我希望通過算法實現中間裂縫作爲一個整體(並將其正確映射到第一個圖像),並且還正確映射底部裂縫,保持其正確對應(大小和位置)與底部片段。
一個序列通常包含大約30〜40個圖像,所以我剛剛展示了初始子集。而且,儘管這些圖像沒有顯示出來,但是特定的圖像可能只包含裂紋的開始(即其初始外觀),並且在隨後的圖像中它變得越來越長並且可能與其他裂縫結合。
語言:儘管沒有必要,但我想用MATLAB來實現這個解決方案(只是因爲與項目有關的其他大部分代碼都是在MATLAB中完成的)。但是,如果OpenCV可能更容易,我的語言/庫使用靈活。
任何想法,不勝感激。
光流不會爲黑白圖像提供有意義的結果。另外,你的問題沒有詳細說明 - 你想要的輸出是什麼?和往常一樣,示例圖像當然有助於理解設置。 – etarion 2011-05-26 16:48:04
爲什麼最後的圖像不是所需的輸出?碎片可以相互移動嗎? – Andrey 2011-05-26 17:26:27
請確實提供圖片。一般來說,算法需要紋理,並不適合二值圖像。如果您提供了您閱讀過的論文的名稱,而不是指向PDF的鏈接,那麼我會提供幫助。 – 2011-05-26 17:52:36