画像リサイズの仕組み

昨日 ActiveStorage をいじってて、ふと「画像の resize ってどういう仕組みなのかなー?」と気になったので少しだけ調べてた。

しょうもないけど絶対忘れるのでメモ

結論

から先に言うと, サイズを縮小する場合はいくつかのpixelの中間の色を見つけて小さくしていく(言葉で説明すると怪しい)というのが正解らしい

詳しくは 拡大・縮小から始める画像処理 - SlideShare を見て頂けると。

わかりやすい解説ありがとうございます。

逆に拡大の場合は予測をする必要があるので難しいというのがわかった(今勉強している機械学習で出てくるような単語がいくつか出て「オッ」となった)

調べた過程

最初適当に検索して、なんかいいサンプルコードとかないかなーと思い、 nfnt/resize に行き着いた。

ソースコードを読んだりしてたが中で標準パッケージの image が出てきたので、そちらを先に読むことに。

Package image

Alpha, CMYK, RGB, といろいろな type が出てきたがわかるのが RGB ぐらいだったので色々ググってとりあえず CMYK ってのが RGB みたいなもの(雑)ってのがわかった。

カラーモード(RGBとCMYK)とは?

RGB とか CMYK は透明度に関しては情報を持ってないので、 Alpha がそれを表すというのもわかった。

あとは Opaque <-> Transparent とか、英語レベルの話を復習?できたくらい

こういう普段使ってるけどよくわかってないことが多すぎるので、疑問に思ったらちゃんと調べようと思った次第(N回目)

画像処理の本とかちょっと読みたいなーと思ったが現状機会学習の勉強とかで結構いっぱいいっぱいなので wishlist に入れて終わった

Contents