2011-12-07 91 views
0

我有一個顯着圖,指示圖像的哪一部分是最顯着的。我一直試圖從原始中提取圖像的這一顯着部分。現在我做:從原始的黑色背景中提取蒙版圖像

img_thresholded=img.*repmat(saliency_map >= prctile(saliency_map(:),75),[1 1 size(img,3)]); 

這段代碼的實現是:enter image description here

正如你可以看到,提取顯着圖像具有的背景下,這是一個人口會大量的黑色,因爲代碼上面將任何非顯着部分轉換爲0.我的問題是,我該怎麼做才能讓我只顯示明顯的圖像而沒有黑色背景?

+1

「黑色背景」是什麼意思?黑色背景是存在的,因爲你的數據必須存儲在某個地方,而且某個地方是矩形的......如果你不關心信息/圖像的「幾何」外觀,那麼你可以掃描整個矩陣並刪除0價值指數 – Smash

+0

@Smash我在想一個透明圖像的interms,其中那些0被刪除。但是,不能保證圖像中的某些東西不是黑色的,我不想冒這個風險。這是我的困境。 – mugetsu

回答

-1

你已經有了你所需要的,
你的下一步是什麼?我會告訴你如何處理黑色背景。

+0

我的下一步是擺脫背景,使用所有組合(img ....)= []。但就像我在評論中所說的,我不想冒着弄髒圖像中實際上是黑色的部分的風險。 – mugetsu

+0

這裏有兩個獨立的問題,如果你的圖像中有「真正的」黑點,你可以使用其他類似「藍屏」(0,0,1)作爲「無」的東西,第二個問題是bg的問題顯示爲黑色,正如我所說,這不是一個實際問題,而是取決於您的下一步。 – Ali

+0

如果圖像中有真實照片,則很有可能在圖像中沒有任何完全黑色的像素。 – Ali