2015-01-05 3 views
0

요청을 사용하여 로컬 파일 시스템에 이미지를 파이핑하고 수신 된 버퍼를 해싱하여 중복을 인식하려고합니다. 그러나 중복 이미지를 파이프하려고하면 수신 버퍼가 몇 가지 이유로 약간씩 다르게 들어 오며 1-2 바이트가 변경됩니다 (수십만 개 중에서). 그러나 단지 1 바이트의 차이만으로도 내 해시가 완전히 다르고 이미지를 복제본으로 표시하지 않아야합니다.이를 어떻게 피할 수 있습니까?스트림을 해싱하여 중복 이미지를 감지합니다.

감사합니다.

답변

0

수 없습니다. 해시 함수는 의도적으로 다른 입력에 대해 다른 결과를 제공합니다.

마치 과 비슷한 개의 이미지를 감지하는 것처럼 들리지만 이는 다소 다르고 매우 어려운 문제입니다. 자세한 정보는 지각 이미지 해싱에 대한 정보를 문헌에서 검색하십시오.

+0

아니요, 비슷한 이미지를 찾으려고하지 않습니다. 동일한 질문지에서 동일한 이미지를 여러 번 파이프했습니다. 수신 된 버퍼가 매회 1-2 바이트 씩 차이가 나면서 해시가 발생했습니다. 다르게. 스트리밍의 불일치를 해결할 거리가 있는지 묻고, 가까운 이미지 간의 유사성을 감지하지 않습니다. – Ari

+0

아, 내 질문을 다시 읽었을 때 문구가 혼동을 일으킬 수 있음을 알 수 있습니다. "매번 약간의 차이"라고 말했을 때, 이미지 자체가 아니라 데이터를받은 것을 의미했습니다. 나는 그것을 명확하게하기 위해 그것을 바꿀 것이다. – Ari

+1

Er ... 동일한 파일을 읽고 매번 다른 데이터를 가져 오는 경우 1) 하드 드라이브가 치명적인 오류를 일으키거나 2) 파일 읽기 논리에 이상이 있습니다. 그러나 제공하신 정보로는 디버깅 할 수 없습니다. – duskwuff

관련 문제