วิธีทำมิเรอร์ไฟล์ภาพผ่านบรรทัดคำสั่ง?


13

สิ่งที่ฉันต้องการทำง่ายมาก ฉันเป็นตัวfile.pngที่ฉันต้องการสะท้อนนั่นคือผลลัพธ์ควรเป็น "ภาพสะท้อน" ของภาพต้นฉบับ

ฉันรู้ว่าเครื่องมือขนาดใหญ่เช่น GIMP และ InkScape สามารถทำสิ่งนี้ได้ แต่ฉันหวังว่าจะเป็นอรรถประโยชน์บรรทัดคำสั่งบางอย่างconvert(ซึ่งน่าเศร้าที่ดูเหมือนจะไม่มีตัวเลือกดังกล่าวหรืออย่างน้อยก็ไม่ได้กล่าวถึงในmanหน้านี้)

คำตอบ:


26

จากการอ่านอย่างรวดเร็วของนี้เห็นได้ชัดว่าconvertเรียกตัวเลือกนี้-flopสำหรับมิเรอร์ในแนวนอนและ-flipแนวตั้ง สิ่งที่ฉันต้องทำคือ

convert -flop input.png output.png

1
sudo apt-get imagemagick ติดตั้ง
tonka

ฉันได้อ่านสิ่งที่เกี่ยวกับการเปลี่ยนแปลงที่จะconvert ดังนั้นถ้าอะไรผิดพลาดลองmagick magick
Sigur

3

หากคุณต้องการเขียนทับแบบแทนที่และคุณมีไฟล์ภาพจำนวนมากในโฟลเดอร์เดียวกันmogrifyดูเหมือนว่าชุด ImageMagick จะเป็นวิธีที่ง่ายที่สุดในการทำสิ่งนี้:

# mirror in the vertical axis:
mogrify -flip *.jpg

# mirror in the horizontal axis:
mogrify -flop *.jpg

2

สำหรับงานนี้โดยเฉพาะอย่างยิ่งconvertน่าจะเป็นวิธีที่ดีที่สุดที่จะไป แต่สำหรับชนิดของสิ่งนี้ผมมักจะใช้netpbmห้องสมุดซึ่งเป็นที่ติดตั้ง (ตามที่คุณคาดว่าจะได้) apt install netpbmด้วย แล้วก็

  pngtopnm input.png | pnmflip -lr \
    | (other transformations if desired) \  
    | pnmtopng > output.png

สำหรับงานนี้มันเป็น overkill แต่ฉันมักจะพบว่าตัวเองเขียน one-off สคริปต์ที่จะเปลี่ยนหรือวิเคราะห์ไฟล์ PNM convertในรูปแบบที่แปลกประหลาดที่จะไม่อยู่ในที่มีอยู่ สิ่งนี้ค่อนข้างง่ายเนื่องจาก PNM เป็นรูปแบบกราฟิกบิตแมปกราฟิกที่ง่ายที่สุดเท่าที่จะทำได้

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