画像をドット絵化するAPI
覗き込んだ風景がドット絵になるやつより、画像をドット絵に変換するAPIを作りたい
名前を考える
Pixel Imageかな
作り途中
GitHub: https://github.com/ivgtr/pixel-image
URL: https://pixel-image.vercel.app/
ドット絵化の実装はGoで作られた下記記事のものとほぼ一緒に
https://tech.basicinc.jp/articles/197
queryに画像URLを付けて投げてもらう形式
node-canvasに取得した画像を貼り付け→加工していく
参考: https://qiita.com/chelcat3/items/03419142aea295e94c69
画像を貼り付けたcanvasから色データを取得
canvas.getContext('2d').getImageData(x, y, width, height).dataからUint8ClampedArrayが取得できる
https://developer.mozilla.org/ja/docs/Web/API/Canvas_API/Tutorial/Pixel_manipulation_with_canvas
[R, G, B, A, R, G, B, A, ....]の形
with(ピクセル数) x hight(ピクセル数) x 4(RGBA) のサイズの配列になる
分割するタイルのサイズとのちのち色をまとめる時、何色で丸めるかの色数をオプションで受け取る
k-meansの実装
RGBグラフを3次元グラフとし、2点間の距離の近いグループに分けていく
同グループで平均値を取る
この作業を何度か繰り返し、グループが変動しなくなるまで繰り返す