Juliaで画像処理をやってみようと言うことで、練習も兼ねてJulia100%で書かれたImagesの備忘録。
ここで使うもの
WindowsとMac環境で試してみましたが、OSによって別途パッケージのインストールが必要かもしれません(ImageMagick, GtkReactive等)。
- Images
- TestImages
- FileIO
- ImageView
import Pkg
Pkg.add("Images")
JuliaImagesでは、他と比べて細かい単位でパッケージ分割がされていますので、MatlabやPythonに慣れた方は一度Comparison with other image processing frameworksを見ておくといいかもしれません。
サンプル画像の読み込み
TestImages
を使います。cameramanやmandrill, lena, lena_grayなどのよく使われる画像が使えました。
Pkg.add("TestImages")
# Pkg.add("ImageMagick") # 必要かも・・・
# テスト画像の読み込み例
using Images, TestImages
img = testimage("cameraman")
画像の読み込み/書き出し
FileIO
を使うと便利です。画像の読み書き専用ではありませんが、リポジトリをざっと見る限り、主要なフォーマット(bmp, png, jpg, gif, pdf...)は一通り使えそうです。フォーマット次第かもしれませんが、macだとQuartzImageIO
のインストールが必要でした。
Pkg.add("FileIO")
using FileIO
img = testimage("cameraman")
save("myphoto.png", img)
img2 = load("myphoto.png")
画像の表示
Juno
描画メソッドを呼ばなくてもPlotsタブに画像を表示してくれます。
IJulia(Jupyter)
ドキュメントのここと同じですね。
ImageView
terminalなどで使う方法です。Matlabを使う場合や、PythonでOpenCVやmatplotlibを使う場合に似ていますね。
Pkg.add("ImageView")
using TestImages, Images, ImageView
img = testimage("cameraman");
imshow(img)
注意点としては、スクリプトで使う場合はこちらで紹介されているようにしないとJuliaが終了してしまいます。
ここまで。
次回は配列とcolorviewを整理します。