コマンドラインツールのみを使用して、CLIのみでUbuntuの画像をトリミングします。4方向のトリミングするピクセルを示します。 (libreofficeにあるものと同じ)
例えば:
crop image.jpg -top 5px -bottom 7px -right 14px -left 3px
そのようなツール(GUIではない)はありますか?
これは、イメージマジックパックのconvert
を使用した回避策です。
Sudo apt-get install imagemagick
写真の場合image.jpg
$ identify image.jpg
image.jpg JPEG 720x482 720x482+0+0 8-bit DirectClass 100KB 0.000u 0:00.009
上記のように、入力画像は720x482pxです。
トリミングを行うには、次の2つの要素を決定する必要があります。
上の画像image.jpg
に戻って、切り抜きます:
それから(width
xheight
+ left
+ top
/w
xh
+ l
+ t
フォーマット):
convert image.jpg -crop 703x470+3+5 output.jpg
いま
$ identify output.jpg
output.jpg JPEG 703x470 703x470+0+0 8-bit DirectClass 102KB 0.000u 0:00.000
白い領域を切り取りたい場合、imagemagick
には特別なコマンドがあります:
convert -trim input.jpg output.jpg
「ユーザーフレンドリー」なCLIオプションを作成するには、以下のスクリプトを使用できます。コマンドを実行するだけです:
<script> <image> <crop_left> <crop_right> <crop_top> <crop_bottom>
同じディレクトリにimage.jpeg
という名前のimage[cropped].jpeg
というトリミングされた画像を作成します。
#!/usr/bin/env python3
import subprocess
import sys
# image, crop- dimensions
img = sys.argv[1]; left = sys.argv[2]; right = sys.argv[3]; top = sys.argv[4]; bottom = sys.argv[5]
# arrange the output file's name and path
img_base = img[:img.rfind(".")]; extension = img[img.rfind("."):]; path = img[:img.rfind("/")]
img_out = img_base+"[cropped]"+extension
# get the current img' size
data = subprocess.check_output(["identify", img]).decode("utf-8").strip().replace(img, "")
size = [int(n) for n in data.replace(img, "").split()[1].split("x")]
# calculate the command to resize
w = str(size[0]-int(left)-int(right)); h = str(size[1]-int(top)-int(bottom)); x = left; y = top
# execute the command
cmd = ["convert", img, "-crop", w+"x"+h+"+"+x+"+"+y, "+repage", img_out]
subprocess.Popen(cmd)
スクリプトはimagemagick
を使用します
Sudo apt-get install imagemagick
上記のスクリプトをcrop_image
に~/bin
(拡張子なし)として保存します。
source ~/.profile
も実行して、ディレクトリを$PATH
に表示します。前述のように、名前でスクリプトを実行するだけです:
crop_image /path/to/image.jpg 20 30 40 50
その場合、引用符を使用する限り、スペースは問題ありません。
crop_image '/path/with spaces in the name/to/image.jpg' 20 30 40 50
image magick
パックで変換コマンドを使用できます。Sudo apt-get install imagemagick
またはSudo yum install ImageMagick
をインストールするには。
次に、-crop geometry
を使用して画像をトリミングします。その他の測定値については、 here を参照してください
mogrify -crop <W>x<H>+<X>+<Y> <files>
を使用します。
注意:ファイルは予告なしに上書きされます。
crop
コマンドには4つのことが必要です。それを理解するには、切り取りたい画像を取ります。ここで、イメージ上で、保持したいサイズの長方形を描いていると想像してください。この長方形の外側の領域は削除され、切り取られます。長方形を傾けてはいけません。つまり、上面が水平でなければなりません。
次に、次の4つのことを書き留めます。
したがって、W、H、L、およびTの値が得られます。ここまでは順調ですね。ピクセルを知るには、Ubuntuに krule ツールをインストールします。非常に便利。
ここで、ターミナルを開き、画像が保存されているフォルダーに移動します。次のコマンドを使用して、W、H、L、およびTの値を適切に設定します。
convert input.jpg -crop WxH+L+T output.jpg