さんだすメモ

さメモ

技術ブログでは、ない・・・

線画抽出するスクリプト[GIMP]

アニメのGB素材を作ってみる(GIMP) - さメモ の線画抽出部分のスクリプトです。

色々分かっていないところがありますが、とりあえず。

  • %APPDATA%\gimp\2.10\scripts\script.scm
(define (line-drawing-extraction img layer radius)
  (gimp-undo-push-group-start img)

  ; レイヤーを複製
  (define layer2 (car (gimp-layer-copy layer 1)))
  (gimp-image-insert-layer img layer2 0 0)
  ; 色 > 脱色 > 脱色
  (gimp-drawable-desaturate layer2 DESATURATE-LUMINANCE)

  ; レイヤーを複製
  (define layer3 (car (gimp-layer-copy layer2 1)))
  (gimp-image-insert-layer img layer3 0 0)
  ; 色 > 階調を反転
  (gimp-drawable-invert layer3 FALSE)
  ; フィルター > ぼかし > ガウスぼかし
  (plug-in-gauss-rle2 RUN-NONINTERACTIVE img layer3 radius radius)
  ; レイヤーモード 覆い焼き
  (gimp-layer-set-mode layer3 DODGE-MODE)

  ; 下のレイヤーに統合
  (gimp-image-merge-down img layer3 CLIP-TO-IMAGE)

  (gimp-undo-push-group-end img)
  (gimp-drawable-update layer 0 0 (car (gimp-drawable-width layer)) (car (gimp-drawable-height layer)))
  (gimp-displays-flush)
  )

(script-fu-register
  "line-drawing-extraction"
  "<Image>/Script-Fu/line-drawing-extraction"
  "Line-drawing extraction"
  "sandas"
  "copyright 2023 sandas"
  "2023"
  "*"
  SF-IMAGE "Input Image" 0
  SF-DRAWABLE "Input Layer" 0
  SF-VALUE "radius of gaussian blur" "3"
  )

参考