2012-08-04 35 views
1

我想覆蓋給定的圖片中的圖片。我創建了一個面具與區,在那裏我可以把這樣的畫面:如何用給定的蒙版覆蓋圖片

Image Hosted by ImageShack.us http://img560.imageshack.us/img560/1381/roih.jpg

的問題是,白色區域中包含黑色區域,在這裏我不能忍受的對象。

如何有效地計算子圖像必須放置的位置?我知道一些功能,如PointPolygonTest。但這需要很長時間。

編輯:

覆蓋圖像必須放在白色的地方。 例如在藍色矩形的地方。

Image Hosted by ImageShack.us http://img513.imageshack.us/img513/5756/roi2d.jpg

回答

1

如果我理解正確的話,你想放的圖像中的區域(大如圖像)是在面膜完全變白。

在這種情況下,爲了獲得有效的區域,我將侵蝕應用於使用與要插入的圖像大小相同的內核的掩碼。侵蝕後,所有有效區域將變爲白色。

但是您展示圖像沒有200米* 200的區域是全白的,所以我一定誤解......

但是,如果你有什麼用最少的黑色面具計算區域,你可以應用模糊而不是侵蝕並查找模糊蒙版中的最大強度像素。

在這兩種情況下,您都希望插入子圖像,使其中心位於被侵蝕/模糊蒙版的位置最大強度像素上。

編輯:

如果你有興趣在尋找那將是最遠離任何黑色像素把子圖像的區域,您可以定義其作爲距離的最大值中心轉換的面具。

祝你好運,

+0

嗨,SRY的圖像下采樣,所以大小不匹配。我會用高斯金字塔來測試它。謝謝 – 2012-08-04 21:49:42

+0

在這種情況下,一個簡單的侵蝕將工作 – 2012-08-04 21:51:56

+0

但我怎麼能找到該地區(CvPoint),我可以把圖像? – 2012-08-04 21:54:03