ชุดข้อมูลลบข้อมูล exif


คำตอบ:


17

คำแนะนำ ExifTool อื่น ๆ นั้นยอดเยี่ยมหากคุณต้องการลบหรือเปลี่ยนหัวข้อเฉพาะ แต่ถ้าคุณต้องการลบข้อมูลเมตาทั้งหมดอย่างสมบูรณ์ให้ใช้สิ่งนี้ (จากหน้า man):

   exiftool -all= dst.jpg
        Delete all meta information from an image.

คุณสามารถใช้jheadด้วยแฟล็ก -de:

   -de    Delete the Exif header entirely.  Leaves  other  metadata
          sections intact.

โปรดทราบว่าในทั้งสองกรณี EXIF ​​เป็นข้อมูลเมตาเพียงประเภทเดียว ส่วนข้อมูลเมตาอื่น ๆ อาจมีอยู่และขึ้นอยู่กับสิ่งที่คุณต้องการทำทั้งสองโปรแกรมมีตัวเลือกต่าง ๆ สำหรับการรักษาบางส่วนหรือลบออกทั้งหมด ตัวอย่างเช่นjhead -purejpgแถบข้อมูลทั้งหมดที่ไม่จำเป็นสำหรับการแสดงภาพ


6

เครื่องมือจัดการ EXIF exiv2มีคำสั่งสำหรับลบข้อมูล EXIF:

exiv2 rm image.jpg

ลบข้อมูล EXIF ​​ทั้งหมดออกจากรูปภาพ

หากต้องการลบข้อมูล EXIF ​​จากภาพ JPEG ทั้งหมดในไดเรกทอรีปัจจุบันให้ใช้

exiv2 rm *.jpg

หากต้องการลบข้อมูล EXIF ​​จากภาพ JPEG ทั้งหมดในไดเรกทอรีปัจจุบันและไดเรกทอรีย่อยทั้งหมดของมันซ้ำ ๆ ให้ใช้:

find . -type f -iname '*.jpg' | xargs exiv2 rm

มันเป็นความคิดที่ดีที่จะทดสอบคำสั่งก่อน

วิธีดูไฟล์ที่พบ:

find . -type f -iname '*.jpg' | less

หากต้องการดูว่าคำสั่งใดจะถูกดำเนินการ:

find . -type f -iname '*.jpg' | xargs echo exiv2 rm | less

หมายเหตุการechoแทรกไว้ก่อนที่exiv2จะพิมพ์คำสั่งแทนที่จะเรียกใช้


3

คุณควรดูที่เครื่องมือ opensource บางอย่างเช่นexiftool มีตัวเลือกมากมาย (สำหรับ exif, xmp, iptc)

exiftool -overwrite_original \
-xmp:Creator='votre nom' \
-xmp:WebStatement='http://creativecommons.org/licenses/by-nc-nd/3.0/' \
-xmp:Rights='Copyright votre nom. This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0  License.' \
-iptc:By-line='votre nom' \
-iptc:CopyrightNotice='Copyright votre nom. This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0  License.' \
-exif:Artist='votre nom' \
-exif:Copyright='Copyright votre nom. This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0  License.' \
votre_fichier.jpg

สิ่งเดียวที่คุณควรทำต่อไปคือเขียนสคริปต์เล็ก ๆ ที่แสดงไฟล์ของคุณ (jpg) และทำสิ่งต่างๆ ในการลบเนื้อหาของฟิลด์คุณจะต้องตั้งค่าเป็น "^"; ชอบตัวอย่างต่อไปนี้:

-Software= ^
-ModifyDate= ^
-CreatorTool= ^
-MetadataDate= ^
-Rating= ^
-ImageNumber= ^
-WhiteBalance= ^
-Temperature= ^
-Tint= ^
-IncrementalTemperature= ^
-IncrementalTint= ^
-Exposure= ^
-Shadows= ^
-Brightness= ^
-Contrast= ^
-Saturation= ^
-Sharpness= ^
-LuminanceSmoothing= ^
-ColorNoiseReduction= ^
-ChromaticAberrationR= ^
-ChromaticAberrationB= ^
-VignetteAmount= ^
-VignetteMidpoint= ^
-ShadowTint= ^
-RedHue= ^
-RedSaturation= ^-GreenHue= ^
-GreenSaturation= ^
-BlueHue= ^
-BlueSaturation= ^
-FillLight= ^
-Vibrance= ^
-HighlightRecovery= ^
-Clarity= ^
-Defringe= ^
-HueAdjustmentRed= ^
-HueAdjustmentOrange= ^
-HueAdjustmentYellow= ^
-HueAdjustmentGreen= ^
-HueAdjustmentAqua= ^
-HueAdjustmentBlue= ^
-HueAdjustmentPurple= ^
-HueAdjustmentMagenta= ^
-SaturationAdjustmentRed= ^
-SaturationAdjustmentOrange= ^
-SaturationAdjustmentYellow= ^
-SaturationAdjustmentGreen= ^
-SaturationAdjustmentAqua= ^
-SaturationAdjustmentBlue= ^
-SaturationAdjustmentPurple= ^
-SaturationAdjustmentMagenta= ^
-LuminanceAdjustmentRed= ^
-LuminanceAdjustmentOrange= ^
-LuminanceAdjustmentYellow= ^
-LuminanceAdjustmentGreen= ^
-LuminanceAdjustmentAqua= ^
-LuminanceAdjustmentBlue= ^
-LuminanceAdjustmentPurple= ^
-LuminanceAdjustmentMagenta= ^
-SplitToningShadowHue= ^
-SplitToningShadowSaturation= ^
-SplitToningHighlightHue= ^
-SplitToningHighlightSaturation= ^
-SplitToningBalance= ^
-ParametricShadows= ^
-ParametricDarks= ^
-ParametricLights= ^
-ParametricHighlights= ^
-ParametricShadowSplit= ^
-ParametricMidtoneSplit= ^
-ParametricHighlightSplit= ^
-SharpenRadius= ^
-SharpenDetail= ^
-SharpenEdgeMasking= ^
-ConvertToGrayscale= ^
-ToneCurveName= ^
-CameraProfile= ^
-HasSettings= ^
-CropTop= ^
-CropLeft= ^
-CropBottom= ^
-CropRight= ^
-CropAngle= ^
-CropWidth= ^
-CropHeight= ^
-CropUnit= ^
-HasCrop= ^
-AlreadyApplied= ^
-ToneCurve= ^
-CameraProfile= ^
-ApplicationRecordVersion= ^

3

คำแนะนำของ Vincent เกี่ยวกับการใช้ exiftoolนั้นดี ฉันขอแนะนำให้คุณเขียนสคริปต์ที่ยอมรับอาร์กิวเมนต์เดียวของชื่อไฟล์และเรียกใช้ฟังก์ชันสตริปที่คุณต้องการ จากนั้นใช้findเพื่อรันสคริปต์นี้ในชุดไฟล์ของคุณ สคริปต์จะมีลักษณะดังนี้:

#!/bin/sh
exiftool -overwrite_original -ExifFieldName=^ [-MoreExifFieldNames=^] $1

สมมติว่าคุณบันทึกสิ่งนี้เป็น/usr/local/bin/strip_exif.shจากนั้นคุณสามารถเรียกมันได้โดยไปที่โฟลเดอร์ที่มีไฟล์ jpeg ดังนี้:

find -type f -iname '*.jpg' -exec strip_exif.sh {} \;

แก้ไข:หลังจากเห็นคำตอบของ mattdmเกี่ยวกับอาร์กิวเมนต์สำหรับการดึงแท็กทั้งหมดฉันคิดว่าคุณสามารถข้ามสคริปต์และใช้การค้นหาดังนี้:

find -type f -iname '*.jpg' -exec exiftool -all= {} \;
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.