2017-10-27 24 views
0

다른 사용자의 제안에 따라 from Superuser을 다시 게시하면 약간의 (기초적인) 프로그래밍이 포함될 가능성이 높습니다.명령 줄에서 사진 메타 데이터를 "흐리게"표시 하시겠습니까?

사진을 소셜 미디어에 게시 할 때 종종 개인 식별 데이터를 제거하기 위해 이미지의 일부를 흐리게 처리하려고합니다. 이것은 많은 수의 이미지 조작 도구로 간단합니다. 그림 메타 데이터와 대략 동일한 것을하고 싶다고 가정 해 봅시다. 예를 들어 무작위로 찍은 날짜와 시간을 왜곡하여 관심있는 누군가가 찍은 날짜와 시간을 대략적으로 파악하고 임의로 GPS 좌표를 왜곡 할 수 있습니다 (예 : 둥근 말). 가장 가까운 0.25 마일까지. 카메라 유형과 같은 다른 데이터를 제거 할 수도 있고 원치 않을 수도 있습니다. 정확할 필요는 없으며, 메타 데이터를 익명으로 처리하여 누군가가 내가 언제 어디에서 왔는지 정확히 알지 못한다. EXIFTool을 사용하면이 작업을 수행하는 것이 간단하지만 메타 데이터 읽기, 기울이기 및 다시 작성은 약간 번거로울 수 있습니다. 바퀴를 재발 명하고 싶지 않은데, 이것을 할 수있는 간단한 방법이 있습니까? 어떤 도움을 주셔서 감사합니다.

답변

0

내부 작업과 Perl에 대한 약간의 지식이 있지만, 이것을 exiftool로 할 수 있습니다.

예를 들어, 10 분 간격 (+/- 5 분)으로 무작위로 시간을 "흐리게"표시합니다 (기술적으로 9 분 59 초, 0에 도달 할 확률) :
exiftool -d %s "-DateTimeOriginal<${DateTimeOriginal;$_+=(int(rand(600))-300)}" <FileOrDir>

내역 :
-d %s - 이것은 UNIX 시간과 날짜 형식을 변경 1970:01:01 00:00:00
-DateTimeOriginal< 이후의 초 수 - 복사되고있는 태그, 태그와 아마 같은이 복사된다. 보다 작음 부호 <은 태그 복사 작업을 나타냅니다.
${DateTimeOriginal;$_+=(int(rand(600))-300)} - exiftools 고급 서식 기능 (일명 Perl 코드)을 사용하여 일부 변경 사항과 함께 복사되는 태그입니다. -d 옵션으로 인해이 DateTimeOriginal 태그 값은 UNIX 시간 형식입니다. 그런 다음 0에서 599 사이의 임의의 숫자가 int(rand(600))으로 생성되고 300을 빼고 반 이상이 음수이고 나머지는 양수 (또는 0)가됩니다. 기본 변수 $_을 사용하여 생성 된 번호 +=에 추가하십시오.

GPSLatitudeGPSLongitude을 흐리게 처리하려면도/분/초 대신 소수점 좌표를 사용하고 십진수는 수십 마일이 될 수 있으므로 훨씬 작은 수를 사용하여 비슷한 작업을 수행하십시오. 이 경우 명령의 중요한 부분은
"-GPSLatitude<${GPSLatitude#;$_+=(rand()-.5)/10}"
과 비슷할 것입니다. 여기서 해시 태그 #GPSLatitude과 같이 10 진수 좌표 값으로 사용했습니다. 또 다른 옵션은 -c 옵션을 사용했을 것입니다. 나는 또한 변화의 수준을 100 번째 십진수로 가져 왔는데, 아마도 나는 수 마일이나 수십 마일에이를 것으로 생각합니다. 이것은 적절하게 반구를 고려하지 않기 때문에 적도와 자오선 근처에서 나 빠지게됩니다.

모두 함께 넣어 :
exiftool -d %s "-DateTimeOriginal<${DateTimeOriginal;$_+=(int(rand(600))-300)}" "-GPSLatitude<${GPSLatitude#;$_+=(rand()-.5)/10}" "-GPSLongitude<${GPSLongitude#;$_+=(rand()-.5)/10}" <FileOrDir>

이 명령은 백업 파일을 생성합니다. -overwrite_original을 추가하여 백업 파일 생성을 억제하십시오. 서브 디렉토리로 되풀이하기 위해 -r을 추가하십시오. 이 명령을 Unix/Mac에서 실행하는 경우 이중/작은 따옴표를 뒤집어서 bash 해석을 피하십시오.

+0

매우 상세하고 유익한 답변을 보내 주셔서 감사합니다. 정말 감사.이것은 내가 필요한 것을 정확하게 수행해야합니다. – ludinom