2012-05-14 45 views
1

我需要在c#中進行「模糊」圖像比較 - 我過去使用過ImageMagick.NET,並且知道它對於工作很有用。使用ImageMagick.NET比較圖像

中有難懂的一個比較命令:http://www.imagemagick.org/script/compare.php

並且在ImageMagick.NET一個比較(圖片參考)方法但是似乎它被無限簡化,所以沒有在詳細的獲取方式輸出。

我需要能夠得到,因此我可以使用閾值匹配圖像。我錯過了什麼 - 有沒有辦法將這些東西放入ImageMagick.NET中? (我遠遠沒有C++開發者),還是我咆哮了錯誤的樹?

回答

3

對不起,如果我沒有得到你的問題,但不會IsImagesEqualSimilarityImage工作?

IsImagesEqual返回「圖像中任何單個像素的歸一化最大量化誤差,此距離度量標準化爲0到1之間的範圍。它獨立於圖像中紅色,綠色和藍色值的範圍

一個小的歸一化均方誤差,作爲image-> normalized_mean_error訪問,表明這些圖像在空間佈局和顏色上非常相似。「

.NET綁定中的相應方法是Image.Compare它需要一個圖像並返回一個布爾值。但是,如果結果爲假 - 平均錯誤(根據上述度量標準)將在當前實例的meanErrorPerPixel,normalizedMaxError和normalizedMeanError上設置。

這三個指標是不是足以給你「模糊」比較的結果?

+0

你從哪裏瞭解到這一點?還有,圖片沒有這些屬性? meanErrorPerPixel,normalizedMaxError和normalizedMeanError - 我喜歡它們在哪裏? – iwayneo

+0

我從C/C++ API中查找了那些,但是你是對的 - 那些屬性沒有被公開,因爲代碼(Image.h)在這裏顯示的是http://imagemagick.codeplex.com/SourceControl/changeset/view/34174#489191。您需要將相應的代碼添加到這些綁定中才能使用此功能或請求維護人員爲您執行此操作。不過,這應該是一個相當簡單的補充。按照與該文件末尾定義的行和高度屬性相同的模式。 – Ani

+0

如果你自己實現它,請提供一個補丁,以便維護人員可以添加該功能;-) – tobsen