PythonにあるPILLOWというイメージ処理のライブラリが本日の話題です。3年程前「簡単に、写真が傾いたり輪郭だけになる」で取り上げましたが、さらに詳しく説明します。
資料はこちら → pillow
p.1 ①予め、jypyter notebookのファイルがあるフォルダ内に画像データを保存 ②PILLOWは「PIL」(Python Image Library)と略します。「from PIL import Image」として「Image」モジュールを呼び出し、画像データを「変数=Image.open(ファイルパス)」で読み込みます。 「変数=[Image].load()」というスクリプトを用いると、ピクセルの色情報をRGBの数値として得ることができます。「(w,h)=im_file.size」でピクセルの縦・横のピクセル数を取得します。「img[m,n]=(255-r,255-b,255-g)」で各々のピクセルの輝度を反転させています。
p.2 ファイル保存は、「Save」。イメージの大きさは、変数=[Image].resize((縦、横))で変更可能です。
p.3 イメージの回転について2通り説明します。「.rotate(角度)」「.transpose(値)」を用います。
p.4 「.rotate(角度)」「.transpose(値)」の違いです。 .rotateの場合は黒いエリアを生じます。.transposeの場合は、イメージそのまま回転します。
p.5 グレースケールは「[mage].convert(値)」を用い、値をRGBにするとカラー、Lがモノクロです。ぼかしは「Imagefilter_SMOOTH)あるいは「Imagefilter_GaussianBlur(実数)」があります。
p.6 輪郭をシャープにするスクリプトです。「Imagefilter_SHARPEN」「Imagefilter_EDGE _ENHANCE」「Imagefilter_EDGE _ENHANCE_MORE」「UnsharpMask(radius=大きさ,percent=強さ,threshold=しきい値))」
p.7 「モルフォロジー変換」です。ピクセル内の輝度の小さいあるいは大きい値に合わせるスクリプトです。
Imagの後に種々追加のスクリプトを付けるだけで、画像データを加工することが容易にできます。元の画像データはそのまま残こすことができるので、同じファイル名で保存しない限りは、試してみることができ便利です。