วิธีครอบตัดขอบ / ช่องว่างสีขาวจากรูปภาพ


52

ฉันมีภาพจำนวนมากที่มีเส้นขอบสีขาวล้อมรอบพวกเขา ฉันต้องการครอบตัดเส้นขอบทั้งหมดในครั้งเดียวโดยเฉพาะอย่างยิ่งจากบรรทัดคำสั่ง ฉันเชื่อว่าสามารถทำได้ด้วย ImageMagick แต่ฉันไม่พบคำสั่งที่เหมาะสม

ฉันรู้ว่าสามารถทำได้ด้วยโปรแกรม Windows ชื่อ Irfanview พร้อมตัวเลือก "ตัดขอบอัตโนมัติ" แต่ฉันกำลังมองหาโซลูชันที่ใช้บรรทัดคำสั่งบน Ubuntu และควรใช้


คุณลอง Gimp แล้วหรือยัง?
Mitch

1
@ Mitch ไม่ฉันไม่รู้ว่า Gimp มีโหมดแบทช์ อย่างไรก็ตามการใช้ ImageMagick Trim นั้นง่ายกว่าดังนั้นฉันจะอยู่กับโซลูชันนั้น
Rafal

โดยทั่วไปแล้วdupeแนะนำวิธีแก้ไขปัญหา GUI ...
วิลฟ์

คำตอบ:


65

ImageMagick Trim

ตัวเลือกบรรทัดคำสั่งที่trimใช้พร้อมกับconvertหรือmogrifyช่วยให้คุณตัดขอบที่มีสีเดียวกันเป็นมุมของรูปภาพ

การใช้งาน:

convert input.png -trim output.png

ตัวเลือกเพิ่มเติม-fuzzจะลบสีที่อยู่ใกล้กับสีมุม ใช้ตัวเลือก+repageเพื่อลบผ้าใบ (ถ้ามี)

ImageMagick Batch Trim (ค้นหา)

คำสั่งข้างต้นสำหรับ ImageMagick Trim ยังสามารถใช้ในการประมวลผลภาพเป็นชุดในขณะที่รวมกับfindคำสั่ง:

find ./ -name "pattern" -exec convert {} -trim outputfolder/{} \;

จะตัดภาพทุกภาพที่เหมาะกับส่วนหนึ่งของคำสั่งและบันทึกไว้ในโฟลเดอร์ใหม่ที่ชื่อว่าpatternoutputfolder

สมมติว่าภาพเป็น PNG จากนั้นคำสั่งจะมีลักษณะดังนี้:

find ./ -name "*.png" -exec convert {} -trim outputfolder/{} \;

ImageMagick Batch Trim (mogrify)

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

mogrify -trim *.png

โปรดทราบว่าแตกต่างconvertและการดำเนินการกับชุดfindและconvert mogrify เขียนทับไฟล์ทั้งหมด เป็นการดีที่สุดที่จะทำสำเนาสำรองของอิมเมจทั้งหมดในไดเร็กทอรีก่อนดำเนินการกับคำสั่ง mogrify

หมายเหตุด้านข้าง: mogrifyสามารถใช้เพื่อดำเนินการส่วนใหญ่ (ถ้าไม่ใช่ทั้งหมด) convertในแบทช์ขณะเขียนทับไฟล์ต้นฉบับ

IrfanView

IrfanView ทำงานอย่างมากกับไวน์ ให้แน่ใจว่าได้ตรวจสอบผลลัพธ์ของ Irfanview อย่างรอบคอบเพราะบางครั้งก็แบ่งภาพเมื่อใช้กับไวน์


มันได้ผล. ขอบคุณมาก. ฉันได้เพิ่มข้อมูลเกี่ยวกับอิมเมจการประมวลผลแบบแบ็ตช์ด้วย ImageMagick เมื่อรวมfindคำสั่งเนื่องจากมันหายไปจากคำตอบของคุณ
Rafal

9
ฉันใช้mogrify -trim *.jpgเพื่อครอบตัดภาพทั้งหมดในโฟลเดอร์ปัจจุบัน
Buttle Butkus

1
มันเยี่ยมมาก มันช่วยให้ฉันประหยัดเวลาได้มาก TX :)
antmw1361

@ButtleButkus ฉันแก้ไขคำตอบเพื่อรวมข้อมูลนั้น ด้วยเหตุผลบางอย่างฉันลืมเกี่ยวกับตัวเลือกนี้ก่อนหน้านี้
Rafal

1
มีวิธีใดในการตัดแต่งภาพ png ตามความสูงของมันรักษาความกว้างให้คงที่?
ddas
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.