是否可以提取圖像前面的任何形狀?如何在C中的圖像中提取正面形狀#
假設我們有一個在前面的兩個物體1的圖像,另一個在後面,空白或透明的背景。
我們可以提取一個在前面,並將其放置在一個新的形象?
這可以通過檢測正面形狀的邊緣然後裁剪來完成嗎?
本文附近做一些我的問題:
Cropping Particular Region In Image Using C#
,但我想這樣做完全自動化。
任何幫助將不勝感激。
在此先感謝。
是否可以提取圖像前面的任何形狀?如何在C中的圖像中提取正面形狀#
假設我們有一個在前面的兩個物體1的圖像,另一個在後面,空白或透明的背景。
我們可以提取一個在前面,並將其放置在一個新的形象?
這可以通過檢測正面形狀的邊緣然後裁剪來完成嗎?
本文附近做一些我的問題:
Cropping Particular Region In Image Using C#
,但我想這樣做完全自動化。
任何幫助將不勝感激。
在此先感謝。
我認爲你不能做到這一點完全自動化;然而,也許有一些半自動化的方式,至少,你需要一些先前的信息,比如你的物體可以放置多遠。以下是我的一些建議。
第一種方式(你必須在實施學術論文的經驗,您對對象的地方深度的一些現有信息),
可以推斷輸入圖像的粗糙深度圖。通過使用它,您將嘗試推斷輸入圖像的深度圖,然後移除包含您的對象的特定深度範圍。您可以查看文件[2]以獲取更詳細的說明。
方式二(假設:人的輸入是在算法的最後允許的。), - 段的影像(你可以找到最先進的算法,帶一點搜索) - 選擇要刪除的輪廓。從http://vision.ece.ucsb.edu/segmentation/edgeflow/images/garden_edge.gif
參考
實施例分割的圖像:
[1]奧德奧利瓦 主旨場景
[2]蠍,K的.;劉,C。 Kang,S.B. IEEE Transactions on Pattern Analysis and Machine Intelligence(TPAMI),2014.
我真的很感激你的幫助,但是,我有點初學者,所以你建議需要很長時間才能理解和試用.. –
OpenCV提供了提取對象輪廓的選項。因此,將圖像轉換爲灰度並提供給公開的簡歷,檢測圖像中的所有輪廓。並根據您的要求選擇所需的輪廓。 由於您的項目在C#上,您可以看看Emgu CV,它是OpenCV的跨平臺.Net包裝器。 PL。請參閱下面的URL,您可以下載Emgu CV的示例。
http://sourceforge.net/projects/emguexample/?source=recommended
C#和* AForge *是在標籤中指定的,所以* OpenCV *幾乎不是一個選項。不過,您可能會指出* EmguCV *作爲* AForge *的C#替代品。 –
感謝您指出,我編輯了回覆。 – shri
看起來像一個很好的開始,我會嘗試並返回結果。謝謝。 –
在你問的一般方式,答案是:不,你不能自動分辨兩個任意對象分開。如果您向我們展示幾個典型示例,我們可能會想到提示如何解決該類圖像的問題,但一般解決方案只能是半自動的過程。 – TaW