(Linux/CUI) rqimage

概要
画像ファイルを、独自の簡単なコマンドによって画像処理をして、指定フォーマットで出力する、コマンドラインプログラムです。
複数の入力画像をまとめて処理できます。

主に、リサイズ・減色・フォーマット変換をメインの目的として使いますが、切り取り、色変換、ガウスぼかしなども行えます。

  • 対応フォーマット (読み書き)
    BMP/PNG/JPEG/GIF/TGA/TIFF/WebP/AVIF/PSD
  • リサイズの補間方法を、複数から選択できます。
    ニアレストネイバー/mitchell/lagrange/lanczos2/lanczos3/spline16/spline36/bicubic/blackmansinc2/blackmansinc3
  • 画像は、アルファ付きの RGBA 8bit で処理します。
  • 各出力フォーマットの保存設定を個別に指定でき、保存するカラータイプも指定できます。
  • リサイズの前にガウスぼかしを掛けることで、縮小したときに漫画のトーンがモアレになるのを軽減できます。
  • 減色は、多摩川 源五郎氏の xPadie と同じ処理を行います。
    比較的綺麗に減色できます。

>> マニュアル (日本語)
ソースコード
>> https://gitlab.com/azelpg/rqimage

言語: C
License: GPL-3
動作環境: Unix 系 OS (Linux, macOS, FreeBSD など)

コンパイル方法については、ReadMe ファイルをご覧ください。

AVIF のサポートは、./configure --without-avif で無効にできます。
使用例
デフォルトの出力先は、カレントディレクトリです。
「元のファイル名 (拡張子除く) + 出力フォーマットの拡張子」で、保存されます。

## 2つの PNG ファイルを、高さ 800 px にリサイズして、JPEG で保存
## (out/input1.jpg, out/input2.jpg)

$ rqimage -o out -c "resize(h=800);save_jpeg(quality=90,samp=444)" input1.png input2.png

## 20% にリサイズ -> グレイスケール -> 16色に減色 -> WebP 保存
## (./input.webp)

$ rqimage -c "resize(pers=20);gray();quant(cols=16);save_webp(level=9)" input.png

## RGBA 画像を白背景と合成して、RGB カラーで保存
## ※ input.png に上書き

$ rqimage -c "blend(col=0xffffff);save_png(col=rgb)" input.png