이미지를 자동으로 자르는 명령 줄?


18

Gimp의 메뉴를 사용하면 이미지를 자동으로자를 수 있습니다 (흰색 테두리 제거). 크기가 다른 흰색 테두리가있는 이미지가 많이 있습니다. 명령 줄에서 Gimp를 사용하여 제거하고 싶지만 명령이 무엇인지 알 수 없습니다.

누구나 아이디어가 있습니까?

아마도 ImageMagick을 사용하여?

답변:


38

ImageMagick을 사용하는 (주로 개인적으로 참조하기 위해) :

convert -trim image.jpg image.jpg

전체 디렉토리를 트리밍 / 자동 자르려면

for a in *.jpg; do convert -trim "$a" "$a"; done

또는 find 사용 :

find -name "*.jpg" -exec convert -trim "{}" "{}" \;

2
또한 ImageMagick 제품군에서 mogrify변환과 동일한 작업을 수행하지만 사본을 만드는 대신 원본을 덮어 씁니다.
Yab

-투명은 작동하지 않지만 -trim은 작동합니다. 감사.
Ivan ZG Xiao

4

나는 이것을 한동안 사용하지 않았지만 희망적으로 도움이 될 것입니다. 김프 배치 스크립트 (자르기 -png.scm이라고 함)를 만들고 ~ / .gimp-2.6 / scripts /에 넣으십시오.

(define (crop-png filename)
  (let* 
    (
    (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
    (drawable (car (gimp-image-get-active-layer image)))
    )

  ; crop the image
  (plug-in-autocrop RUN-NONINTERACTIVE image drawable)

  ; save in original png format
  (file-png-save RUN-NONINTERACTIVE image drawable filename filename
       0 6 0 0 0 1 1)

  ; clean up the image
  (gimp-image-delete image)
  )
)

그런 다음이 쉘 스크립 (예 : pngcrop.sh)을 저장하고 다음과 같이 png 파일에서 호출하십시오. 'pngcrop.sh * .png'

#!/bin/bash

if [ $# -le 0 ]; then
    echo
    echo "Usage: $(basename $0) file1.png [file2.png ...]"
    echo
    echo "  This script uses gimp to autocrop PNG files and"
    echo "  save them to PNG format.  You must have"
    echo "  crop-png.scm installed in your gimp "
    echo "  scripts directory."
    echo
    exit 1
fi

# set the filelist
files=$*

# # set the base command
# CMD="gimp -i -b "

# loop and add each file
for i in ${files[*]} ; do
  # #echo $i
  # ARGS="\"(crop-png \\\"$i\\\")\""
  # CMD="$CMD $ARGS"

  gimp -i -b "(crop-png \"$i\")" -b "(gimp-quit 0)"
done

# # add the end to quit
# TAIL="-b \"(gimp-quit 0)\""
# CMD="$CMD $TAIL"
# 
# #echo $CMD
# eval $CMD
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.