2010-12-22 3 views
1

정의 된 공차 기준을 사용하여 "유사한"이미지 (동일한 이미지 일 수도 있지만 크기가 조정되거나, 손실 압축, 약간 잘림)를 찾기 위해 이미지와 데이터베이스의 이미지를 비교하고 싶습니다..Net 해시로 검색 이미징을위한 라이브러리?

크기 (수십만 개의 이미지 비교 대상)와 기준 (크기 조정, 자르기)은 모든 종류의 픽셀 대 픽셀 비교를 사용하여 배제됩니다. 내가해야 할 일은 각 이미지의 "해시"를 계산하고 저장하는 것입니다. 그러면 새로운 이미지를 비교할 때 해시를 계산하고 그 이미지로 검색을 수행합니다.

저는 이것이 일반적으로 어떻게 수행되었는지에 대한 기본 사항을 이해합니다. 이미지에서 소수의 고유 한 "특징"을 식별하고 (나는 모서리를 식별하는 데 약간의 역할을했습니다) 그 정보를 해시로 저장합니다. 그러나 이것은 내가 작업하고있는 프로젝트의 주요 구성 요소가 아니므로 처음부터이 스케일의 무언가를 개발하고 테스트 할 시간을 가질 수는 없습니다.

시각적 이미지 해시를 생성하고 비교하기위한 라이브러리가 있습니까 (.NET 선호)? string ComputeHash(Image)int GetHashDifference(string, string)

답변

1

이 프로젝트의 소스 코드 : Image Similarity Tool을 살펴보십시오. 이것은 명령 행 방식의 Linux 도구이지만,이 도구에 사용 된 기술 중 일부는 사용자에게 유용 할 수 있습니다.

imgSeek, 무료 (오픈 소스) 이미지 유사성 프로젝트 모음이 사용자에게 유용 할 수 있습니다.

불행히도 필자는 사용자가 필요로하는 .NET 라이브러리를 찾을 수 없었지만 다른 사람이 도움을 줄 수 있습니다.

행운을 빈다.

+0

또한 SIFT/SURF 알고리즘을 사용했지만 직선 이미지 비교에 적합하지 않은 것으로 나타났습니다. 나는 wavelet 알고리즘을 imgSeek에서 C#으로 변환하여 테스트했다. 최소한 제품 자리 표시 자 역할을 수행하는 데 유용한 결과가 충분합니다. Cavets는 Compare (A, B)가 다른 점수를 반환하고 Compare (B, A)가 더 이상한 사실을 발견했습니다. Compare (A, B)가 실제로 더 높은 점수를 반환하는 경우를 찾았습니다. 비). 이는 스코어링 알고리즘에 잘 정의 된 범위가 없다는 사실에서 유래합니다. 순위 지정 후 필터링에 더 적합합니다. – David