Python 実践 データ加工/可視化 100本ノック に挑戦 ノック68

Python 実践 データ加工/可視化 100本ノック」を購入したので、

一通りやっているところです。今日はノック68を行います。

資料は以下から入手できます。

Python実践 データ加工/可視化 100本ノック|サポート|秀和システム

 

ノック68 : 画像処理をしてみよう

 

グレースケールに変換する方法から行います。

 

import cv2
img = cv2.imread('data/sample.jpg')
img_resized = cv2.resize(img, (500, 300))
img_gray = cv2.cvtColor(img_resized,cv2.COLOR_BGR2GRAY)

cv2.imshow('gray',img_gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

 

実行結果

gray

 

次は白黒画像に変換します。黒が0、白が255を表しています。

閾値を60に設定し、60を超えていたら255(黒)、超えていなかったら白(0)で

表示します。

 

th,img_th = cv2.threshold(img_gray,60,255,cv2.THRESH_BINARY)
cv2.imshow('2 value',img_th)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

事項結果

二値化

 

最後に平滑化処理を行います。

周りの色と隔離している場合に平均をとって同じような色にする作業です。

 

8x8のデータに対して平均をとり、その色を表示、横にずれて平均をとりその色を表示、また横にずれて・・

のような作業をおこなっています。

 

 

 

実行結果

smooth 8x8

 

 

 

 

 

 

 

 

 

 

 

 

 

/* -----codeの行番号----- */