本サイトの目的
2020年のGWは五島に帰省できず、また五島の人は観光客の激減で困っている。 そこで自分にできることは無いかと考え、五島の写真を使用し画像処理技術を勉強した内容を公開することで 五島に貢献したいと考えた。
R, G, Bトーンカーブによる変換
折れ線型トーンカーブ
線型のトーンカーブにより入力画像のコンストラストを上げた。
コントラストがより鮮明になっていることがわかる。
def step_plot(x): th1_data=30 th2_data=190 delta_x=th2_data-th1_data a= 255/delta_x _x=np.where(x<th1_data,0,a*(x-th1_data)) y=np.where(_x>255,255,_x) return(y)
sin curve
R, G,Bで同じカーブでもsinカーブのトーンなどは意図しない変換が行われてしまいます。
def s2_plot(x): y = (np.sin(np.pi * (x/255 - 0.5)*6) + 1) * 255 return y
累乗型トーンカーブ
折れ線型のトーンカーブでは、トーンカーブの折れ曲がっている点の前後で変換の性質が急激に変わります。 またトーンカーブが水平な部分では、画素値が全て一定になるため、入力画像のその範囲の濃淡変化は完全に失われます。
入力値をx,出力画像の画素値をyとするとき、このトーンカーブは以下で表すことができます。
$$ y= 255\left( \frac{x}{255} \right) ^\gamma $$
γが1より大きい時
画素が明るくなり、画素が位箇所がみやすくなっている。
def curve_gamma1(x): gamma = 2 y = 255*(x/255)**(1/gamma) return y
γが1より小さい時
画素が暗くなっている。
def curve_gamma2(x): gamma = 1/2 y = 255*(x/255)**(1/gamma) return y
参考資料
デジタル画像処理の4-1, 4-2, 4-3章を参考にしました。
- 作者:ディジタル画像処理編集委員会
- 発売日: 2020/02/26
- メディア: 単行本
また本実験に使用したコードを下記に保存いたしました。
なおソースコードは下記の方のブログを参考にさせていただきました。 optie.hatenablog.com
五島について
分析を行うたびに五島についてご紹介します。
是非コロナが落ち着きましたら、地域を普及させるためにも五島に旅してくださいねー。