2012-11-22 31 views
0

圖像直方圖的計算是一個簡單的任務,而且大部分可用的語言或庫的用於此目的提供的功能。但是如果我想從直方圖的計算中排除圖像背景(假設例如有一個掩模來裁剪圖像中包含的對象),是否有函數允許您僅考慮圖像的一部分來計算直方圖由掩碼定義?產生對象的直方圖而忽略了背景

更新。遮罩沒有特定的形狀,因爲它是通過減去背景獲得的:換句話說,遮罩的黑色像素識別背景,而白色像素識別物體。

+1

你是什麼意思,它沒有特定的形狀?它應該具有相同的圖像大小,在背景像素中的值爲true。你能舉一個例子嗎(閱讀,向我們展示代碼)。 – carandraug

+0

@carandraug _what你的意思是它不具有特定形狀_對不起,我可能是錯用形容詞「特別」:面具不具有特定形狀(它不是一個方形面具,也不是長方形的,等等。);例如,如果我有一個包含一杯咖啡的圖像,我只會計算杯子的直方圖並排除背景像素。 – enzom83

+0

那麼你的問題不是關於獲取直方圖。你的問題是你如何識別背景,這是一個非常不同的問題。 – carandraug

回答

1

是否

hist(im(mask)) 

或取決於哪種方式圓你的面具被定義

hist(im(~mask)) 

工作?

+0

掩模不具有特定的形狀,因爲它是通過減去得到背景:換句話說,蒙版的黑色像素識別背景,而白色像素識別物體。因此,命令'im(mask)'不起作用。 – enzom83

+0

如果蒙版沿圖像的前兩個維度具有相同的形狀,它應該可以工作。你的面具沒有那個屬性嗎? – YXD

+0

你說得對。我跑的命令'IM(掩模)',它返回一個矢量:該矢量的長度爲等於圖像的列的行的數量和數目之間的乘積。然而,我有一個彩色圖像,所以我應該在每個通道上創建一個包含'mask'的3乘以_m的矩陣? – enzom83