2012-05-14 1 views
1

저는 C#에서 "퍼지"이미지 비교를 수행해야합니다. 저는 과거에 물건 용으로 ImageMagick.NET을 사용했으며 작업에 유용하다는 것을 알고 있습니다.ImageMagick.NET을 사용하여 이미지 비교

이미지 마법 (magick)에서 비교 명령이 있습니다 : http://www.imagemagick.org/script/compare.php

는 그리고 ImageMagick.NET의 비교 (이미지 참조) 방법이있다 그러나 그것은 자세한에서 가져 오는 방법이 없기 때문에이 상당히 단순화 할 수있어 보인다 산출.

임계 값을 사용하여 이미지를 일치시킬 수 있어야합니다. 뭔가 빠졌습니까? ImageMagick.NET에이 항목을 추가 할 수있는 방법이 있습니까? (나는 C++ 개발자가 아니므로) 또는 잘못된 트리를 짖고 있습니까?

답변

3

용의자 질문이 없지만 IsImagesEqual 또는 SimilarityImage이 아닌 경우 용서해주십시오.

IsImagesEqual "이미지의 단일 픽셀에 대한 정규화 된 최대 양자화 오류입니다.이 거리 측정 값은 0과 1 사이의 범위로 정규화됩니다. 이미지의 빨강, 녹색 및 파랑 값의 범위와는 관련이 없습니다

image-> normalized_mean_error로 액세스되는 작은 정규화 된 평균 제곱 오류는 이미지의 공간적 레이아웃과 색상이 매우 유사 함을 나타냅니다. "

. NET 바인딩의 해당 메서드는 Image.Compare이며 이미지를 가져 와서 bool을 반환합니다. 그러나 결과가 false 인 경우 위의 메트릭에 따른 평균 오류는 현재 인스턴스의 meanErrorPerPixel, normalizedMaxError 및 normalizedMeanError에 설정됩니다.

"퍼지 (fuzzy)"비교 결과를 얻기에 충분한 세 가지 메트릭이 아닙니까?

+0

여기에 대해 알고 계셨습니까? 또한 이미지에는 이러한 속성이 없습니다. meanErrorPerPixel, normalizedMaxError 및 normalizedMeanError - 어디에서 그들을 좋아합니까? – iwayneo

+0

C/C++ API에서이 코드를 보았습니다.하지만 코드가 올바르지 않습니다. 코드 (Image.h)가 http://imagemagick.codeplex.com/SourceControl/changeset/view에 표시되어 있습니다./34174 # 489191. 이 바인딩을 사용하려면이 코드를 추가하거나 관리자에게 요청하십시오. 그것은 상당히 간단한 추가가되어야합니다. 해당 파일 끝으로 정의 된 행 및 높이 속성과 동일한 패턴을 따릅니다. – Ani

+0

그리고 직접 구현 한 경우 유지 관리자가 해당 기능을 추가 할 수 있도록 패치를 제공하십시오. – tobsen