2016-07-07 143 views
0

我在Emgu CV中使用Image類和它的MatchTemplate方法來檢測圖片中的圖案。所以,我的照片是黑白色(256灰色變體),我必須搜索白色模板,但我如何存儲它們?如果我使用只有2種顏色的.png:圖案爲白色,背景爲黑色 - 則MatchTemplate方法會考慮模板的背景部分(並且這會破壞結果)。我在模式中使用什麼顏色背景?Emgu CV - 在匹配模板時忽略顏色

UPD:已添加圖片。

模式(只白色三角形需要):

Pattern

形象的例子(簡單的):

Image

檢測(白方是我所得到的,紅色的 - 我需要什麼): Detection

+0

如果您只需要白色三角形,爲什麼不從模板中刪除黑色邊框? – TheLethalCoder

回答

0

請閱讀下面的內容: http://docs.opencv.org/2.4/modules/imgproc/doc/object_detection.html?highlight=matchtemplate#matchtemplate

你顯然不知道matchTemplate是如何工作的。

您不能簡單地選擇一種顏色來忽略背景。算法總是計算模板和某個圖像區域之間的一些差異度量。除非圖像和模板背景相同,否則您將始終有影響力。

如果你想「忽略」背景,你將不得不在每次迭代時用圖像區域替換背景,這樣背景差異變爲0或者對於每個像素至少都是相同的。這聽起來不太有效。

提供輸入圖像和模板示例。您的問題最有可能是更好的解決方案。

+0

已將圖片添加到我的帖子中。 – JustLogin

+0

我不明白你的問題。 matchTemplate通過一組相關值給出一個位置。這與你的矩形的大小有什麼關係?該中心似乎是一樣的。 – Piglet