この記事では、Sobleフィルタを使って画像を変換してみます。
具体的には、
- 画像を読み込む
- グレースケールにする
- Sobelフィルタをかける
- 画像を表示、ファイルに書きだす
というステップでJupyter Notebookに書いていきます。
目次
コード
%matplotlib inline import cv2 import matplotlib.pyplot as plt path = "/home/matsu/notebook/data/flower.jpg" im = cv2.imread(path) #Gray Scaleへ変換 gray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY) #Sobelフィルタでx方向のエッジ検出 gray_sobelx = cv2.Sobel(gray,cv2.CV_32F,1,0) # 読み込んだ画像をウインドウに張り付ける plt.imshow(gray_sobelx) # ウインドウをグレースケールモードにする plt.gray() # ウインドウを表示する plt.show() cv2.imwrite('sobel.jpg', gray_sobelx)
「%matplotlib inline」は、画像をJupyter上に表示させるためのおまじないです。
使用する画像

元画像です。
実行結果

Jupyter上で実行するとなぜか見辛い画像になってしまいました。

ファイル出力された画像です。こちらが正しい感じがしますね。
おわり。