이미지 파일에서 메타데이터를 제거하는 방법

이미지 파일에서 메타데이터를 제거하는 방법

[OP의 편집 #1:이 질문에 대한 답변은 Exiftool 창시자/유지관리자 Phil Harvey가 매우 잘 답변한 것으로 나타났습니다.ExifTool 포럼의 중복 스레드]

[OP의 편집 #2:에서ExifTool FAQ:ExifTool은~ 아니다모든 메타데이터를 삭제하려고 시도하면 파일에서 메타데이터가 완전히 제거됩니다.'작성기 제한사항'을 참조하세요.]

현재 백업 드라이브에 없는 사진을 이전 하드 드라이브에서 검색하고 싶습니다. 형식에는 jpg, png, tif 등은 물론 다양한 원시 형식(다양한 카메라 모델 및 제조업체)이 포함됩니다.

저는 이미지 자체의 고유성에만 관심이 있으며, 예를 들어 EXIF ​​태그 값, 주어진 EXIF ​​태그 자체의 유무, 내장된 썸네일 등의 차이로 인한 고유성은 아닙니다.

동일한 이미지의 여러 복사본 간에 손상/데이터 부패가 발견될 것으로 예상되지 않더라도 크기 조정 및 색상 변경으로 인한 차이점뿐만 아니라 이를 감지하고 싶습니다.

[OP에 의한 편집 #3:명확히 하자면: 작은 비율의 거짓 긍정은 허용 가능하며(파일이 고유하지 않은데도 고유한 것으로 결론지음) 거짓 부정은 매우 바람직하지 않습니다(파일이 중복된 것으로 잘못 결론을 내림).]

내 계획은 모든 메타데이터를 제거한 후 md5sum을 기반으로 고유성을 식별하는 것입니다.

메타데이터를 제거하려면 어떻게 해야 합니까?

충분 할까요 exiftool -all= <filename>?

답변1

와 함께imagemagick패키지와JPEG 뿐만 아니라간단히 다음을 수행할 수 있습니다.

mogrify -strip ./*.jpg

이는 ./"-"로 시작하는 파일 이름과 관련된 문제를 방지하는 것입니다.

에서수동:

-strip 프로필, 댓글 또는 PNG 청크(bKGD,cHRM,EXIF,gAMA,iCCP,iTXt,sRGB,tEXt,zCCP,zTXt,date)의 이미지를 제거합니다.

많이추가 정보 및 주의사항여기.

이는 @grochmal과 유사하지만 훨씬 더 간단하고 간단합니다.

답변2

jheadJPEG 파일에서 이미지가 아닌 메타데이터를 제거하는 기능이 있습니다. 매뉴얼 페이지에는 다음과 같이 나와 있습니다.

-dc

JPEG 헤더에서 설명 필드를 삭제합니다. 주석은 Exif 헤더의 일부가 아닙니다.

-de

Exif 헤더를 완전히 삭제합니다. 다른 메타데이터 섹션은 그대로 둡니다.

-di

IPTC 섹션이 있으면 삭제합니다. 다른 메타데이터 섹션은 그대로 둡니다.

-dx

XMP 섹션이 있으면 삭제합니다. 다른 메타데이터 섹션은 그대로 둡니다.

-du

Exif가 아니고 주석도 아니고 이미지에 기여하지 않는 jpeg 섹션(예: Photoshop이 이미지에 남길 수 있는 데이터)을 삭제합니다.

-purejpg

이미지 렌더링에 필요하지 않은 JPEG 섹션을 모두 삭제합니다. 다양한 애플리케이션이 이미지에 남겨둔 메타데이터를 제거합니다. -de -dc및 옵션 의 조합입니다 -du .

답변3

이것은 약간 오래되었지만 예, EXIFtool은 매우 잘 작동합니다.

메타데이터 표시

exiftool photo.jpg

모든 *.jpg 파일에 대한 메타데이터 표시

참고: 확장자는대소문자 구분.

exiftool -ext jpg

위와 동일하지만 하위 디렉터리를 포함합니다.

exiftool -r -ext jpg .

모든 메타데이터 제거

exiftool -all= -overwrite_original photo.jpg

현재 디렉터리에 있는 모든 *.jpg 파일의 모든 메타데이터를 제거합니다.

exiftool -all= -overwrite_original -ext jpg 

위와 동일하지만 하위 디렉터리를 포함합니다.

exiftool -all= -r -overwrite_original -ext jpg .

현재 디렉터리에 있는 *.jpg 파일의 모든 GPS 메타데이터를 제거합니다.

exiftool -gps:all= *.jpg

답변4

MD5 대신 ImageMagick을 사용 identify하여서명이미지 파일의. 동일한 서명을 가진 파일을 찾으십시오. 서명을 공유하는 파일은 동일한 내용을 갖습니다.

예를 들어 파일 a.png, b.pngc.png은 MD5 체크섬이 다르기 때문에 서로 다릅니다.

$ md5sum *
a9ee60d8237a4b3f6cdd6e57c24b1caf  a.png
e8661c4fd7761984a74945e273fd4d09  b.png
21c808d62ff9c7675c1f9ca20d2f6578  c.png

그러나 그들은 서명을 공유합니다.

$ identify -format "%#  %f\n" *
1c916332636b91704f212eec504c25383c90ed5d1659975a4a5895c48fe80ab8  a.png
1c916332636b91704f212eec504c25383c90ed5d1659975a4a5895c48fe80ab8  b.png
1c916332636b91704f212eec504c25383c90ed5d1659975a4a5895c48fe80ab8  c.png

그러므로 그들은 중복됩니다.

관련 정보