ことのあらまし
年末の休みにTwitterを眺めていたらNPOSさんの投稿が流れてきて面白そうだったのでGo言語でもやってみた。
このドット絵化いいかも!やってみよ!https://t.co/i13rxatG6Q
— 𝙉𝙋𝙊𝙎 (@npostring) December 30, 2024
作ったもの
install
go install github.com/ieee0824/ndcd-go/ndcd
使い方
大本の論文ではドットの大きさを指定するようになっているが、このライブラリでは生成する画像の縦の大きさを指定するようになっている。
もしかしたら大本の実装と同じようにするかもしれない。
実行例
ndcd -i 入力ファイル -o 出力ファイル -oh 64 -bt box -bs 10 -c 1 -g 0.8 -s -oe 512
コマンドオプション
-b
明るさの補正パラメーター
指定すると処理する前に画像の明るさ調整が入ります
-bs
ぼかし処理のパラメーター
指定すると処理する前に画像のぼかし処理が入ります
jpegなどのノイズをある程度ごまかせます
-bt
ぼかしの種類を指定します
gaussian
かbox
が指定できます
デフォルトは gaussian です
-c
コントラストの補正パラメーター
指定すると処理する前に画像のコントラスト調整が入ります
-cq
色数の量子化パラメーター
指定すると処理する前に画像の色数を減らします
-g
ガンマ補正パラメーター
指定すると処理する前に画像のガンマ補正が入ります
-i
入力画像のパス
-o
出力画像のパス
-s
先鋭化処理のパラメーター
指定すると処理する前に画像の先鋭化処理が入ります
-oh
出力画像の高さ
ドット絵の生成される高さです
-oe
出力したドット絵を拡大します
-oe
, -oh
が指定された場合, -oh
の高さで生成したあとに-oe
で指定された大きさに拡大します
所感
実際の写真よりもアニメ絵の方が綺麗に生成されることが多い気がする。
また、背景画像がスッキリしている方が画像としてきれい。