2017-01-28 4 views
1

나는 metadata-extractor를 사용하여 이미지를 구성하고 중복을 찾는 Java 응용 프로그램을 작성하고 있습니다. API는 훌륭하지만 알아낼 수없는 것이 있습니다.원시 이미지 데이터에 액세스하는 방법

두 개의 JPG 이미지가 있다고 가정합니다. 이러한 이미지는 시각적으로 동일합니다 (예 : 동일한 픽셀 단위). 그러나 파일에 캡슐화 된 메타 데이터 내의 내용이 다를 수도 있습니다.

파일에서 MD5 해시를 계산하면 두 가지 해시를 얻을 수 있습니다. 그러나 이미지/픽셀 데이터 만 해시를 계산할 수 있습니다. 두 해시 모두 동일한 해시를 생성합니다.

그래서 해시를 계산할 수 있도록 메타 데이터 추출기를 사용하여 JPG에서 원시 이미지/픽셀 데이터를 가져 오는 방법이 있습니까?

또한이 API에 Javadoc을 사용할 수 있습니까? 나는 그것을 찾을 수없는 것 같습니다.

+0

왜 md5 해시를 사용하고 있는데 단순히 파일의 데이터를 비교하는 것이 더 빠릅니까? 또한 jpeg 인코딩을 볼 수 있으며 이미지 데이터를 각 청크에서 가져올 수 있습니다. –

+0

또한 내 의견으로는 비트 맵 (x, y를 argb로)을 추출하려는 경우 메타 데이터 추출기를 사용하지 않는 것이 더 쉽다고 생각합니다. jpeg를 이진 파일로 열고 이미지 데이터 청크를 파싱하는 프로세스는 API를 처리하는 것보다 더 짧은 프로세스 인 것 같습니다. 이것은 사실을 기반으로하지는 않지만 제 의견은 간단히 api를보고 있습니다. –

+0

예, 단순히 데이터를 비교하는 것이 더 간단 할 것입니다. JPG를 선택하는 방법에 익숙하지 않기 때문에 이미지 데이터를 나타내는 "각 청크"를 얻는 방법을 모르겠습니다. –

답변

1

라이브러리의 JpegSegmentReader 클래스를 사용하여이 작업을 수행 할 수 있습니다. 이미지 데이터가 포함 된 JPEG 세그먼트를 제거하고 메타 데이터 세그먼트를 무시할 수 있습니다.

나는이 기술을 another answer에서 논의했고 묻는 사람은 그들이 접근법에 성공했다고 지적했다.

이것은 실제로 라이브러리에 대한 훌륭한 샘플 응용 프로그램을 만듭니다. 당신이 뭔가를 생각해 내고 공유하고 싶다면, 제발.

관련 문제