カラー画像変換② 実験結果

本サイトの目的

2020年のGWは五島に帰省できず、また五島の人は観光客の激減で困っている。 そこで自分にできることは無いかと考え、五島の写真を使用し画像処理技術を勉強した内容を公開することで 五島に貢献したいと考えた。

R, G, Bトーンカーブによる変換

折れ線型トーンカーブ

f:id:unachan_kz:20200510150831p:plain

sin curve

適当な変換なのに、芝生の緑が再現されているのがすごい。 f:id:unachan_kz:20200510150851p:plain

累乗型トーンカーブ

γが1より大きい時

f:id:unachan_kz:20200510150908p:plain

γが1より小さい時

f:id:unachan_kz:20200510150928p:plain

参考資料

デジタル画像処理の4-1, 4-2, 4-3章を参考にしました。

また本実験に使用したコードを下記に保存いたしました。

github.com

五島について

分析を行うたびに五島についてご紹介します。

是非コロナが落ち着きましたら、地域を普及させるためにも五島に旅してくださいねー。

goto.nagasaki-tabinet.com

カラー画像変換

本サイトの目的

2020年のGWは五島に帰省できず、また五島の人は観光客の激減で困っている。 そこで自分にできることは無いかと考え、五島の写真を使用し画像処理技術を勉強した内容を公開することで 五島に貢献したいと考えた。

R, G, Bトーンカーブによる変換

折れ線型トーンカーブ

線型のトーンカーブにより入力画像のコンストラストを上げた。

コントラストがより鮮明になっていることがわかる。 f:id:unachan_kz:20200510141144p:plain

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カーブのトーンなどは意図しない変換が行われてしまいます。 f:id:unachan_kz:20200510141413p:plain

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より大きい時

画素が明るくなり、画素が位箇所がみやすくなっている。 f:id:unachan_kz:20200510142938p:plain

def curve_gamma1(x):
    gamma = 2
    y = 255*(x/255)**(1/gamma)
    return y

γが1より小さい時

画素が暗くなっている。

f:id:unachan_kz:20200510143120p:plain

def curve_gamma2(x):
    gamma = 1/2
    y = 255*(x/255)**(1/gamma)
    return y

参考資料

デジタル画像処理の4-1, 4-2, 4-3章を参考にしました。

また本実験に使用したコードを下記に保存いたしました。

github.com

なおソースコードは下記の方のブログを参考にさせていただきました。 optie.hatenablog.com

五島について

分析を行うたびに五島についてご紹介します。

是非コロナが落ち着きましたら、地域を普及させるためにも五島に旅してくださいねー。

goto.nagasaki-tabinet.com

画素ごとの濃淡変換② 実験画像

本サイトの目的

2020年のGWは五島に帰省できず、また五島の人は観光客の激減で困っている。 そこで自分にできることは無いかと考え、五島の写真を使用し画像処理技術を勉強した内容を公開することで 五島に貢献したいと考えた。

余談

五島にいた頃は、私は五島でも田舎の方の出身で、大学という所がどういう所なのかすら分からずにただたんに勉強してましたね。 今は、インターネットが普及していて、東京とか海外の情報を入手できるようになっているみたいですが、一方で先端IT技術、AI技術を使える人がいないのも現状ですね。 どれだけ需要があるのか分からないですが、いつか、島でAI・IT技術について、お話できる力を身に付けたいな。

折れ線型トーンカーブ

f:id:unachan_kz:20200510125559p:plain

f:id:unachan_kz:20200510125743p:plain

画素の濃淡の反転

メジナの色が反転してしまいました。黒とも呼ばれる魚ですが、白になっちゃった。 f:id:unachan_kz:20200510125849p:plain

f:id:unachan_kz:20200510130035p:plain

2値化

f:id:unachan_kz:20200510125936p:plain

f:id:unachan_kz:20200510130058p:plain

ソラリゼーション(solarization)

f:id:unachan_kz:20200510130003p:plain

f:id:unachan_kz:20200510130118p:plain

所感

画像の画素値の濃淡を変更するだけでも非常に画像の特徴が変わることがわかりました。 今回はガンマ補正などの方法については触れてませんが、いろいろと試してみると面白いですね。

参考資料

デジタル画像処理の4-1, 4-2章を参考にしました。

また本実験に使用したコードを下記に保存いたしました。

github.com

なおソースコードは下記の方のブログを参考にさせていただきました。 optie.hatenablog.com

五島について

分析を行うたびに五島についてご紹介します。

おすすめの場所 4 大瀬崎灯台がやはりおすすめです。

是非コロナが落ち着きましたら、地域を普及させるためにも五島に旅してくださいねー。

www.nagasaki-tabinet.com

画素ごとの濃淡変換

本サイトの目的

2020年のGWは五島に帰省できず、また五島の人は観光客の激減で困っている。 そこで自分にできることは無いかと考え、五島の写真を使用し画像処理技術を勉強した内容を公開することで 五島に貢献したいと考えた。

画素ごとの濃淡変換

トーンカーブ

画像の各画素(ピクセル)は濃淡を表す画素値(R, G,B)を持っています。画像の濃淡を変化させるためには、入力画像のそれぞれの画像値に対し、出力画像の画素値をどのように対応づけるかを指定すればよいです。 このような対応関係を与えることを諧調変換関数、またそれをグラフで表したものをトーンカーブと呼びます。

折れ線型トーンカーブ

折れ線で表されるトーンカーブは単純であるが、カーブの設定が容易であるため簡単に確認できました。 確認結果の全てのソースコードは一番したに記載しております。

入力画像の黒い領域に隠れていた車の輪郭が変換後、鮮明に特徴抽出することができることを確認できます。 f:id:unachan_kz:20200510104856p:plain

def step_plot(x):
    th1_data=0
    th2_data=80
    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)

画素の濃淡の反転

入力画像の画素の濃淡を反転されることで出力画像の濃淡が反転します。 f:id:unachan_kz:20200510110659p:plain

def invert(pixel):
    return 255 - pixel

2値化

画像を2値化して確認することができます。 f:id:unachan_kz:20200510111455p:plain

def do_binarization(x):
    th1_data=127
    y=np.where(x<th1_data,0,255)
    return(y)

ソラリゼーション(solarization)

画像の濃淡の一部分を反転させることにより、negative , positiveの画像が混ざり合ったような特殊な効果を出しているようです。

f:id:unachan_kz:20200510113641p:plain

このコードが正しいのかは不明ですが、デジタル画像処理の本を参考にして、考えて作ってみました。 可能でしたら、間違いがありましたらご指摘いただけましたら幸いです。

def solarization_sin(x):
    y = ((-np.cos(0.035*x)+1.0)/2.0)*255
    return y

参考資料

デジタル画像処理の4-1, 4-2章を参考にしました。

また本実験に使用したコードを下記に保存いたしました。

github.com

なおソースコードは下記の方のブログを参考にさせていただきました。 optie.hatenablog.com

五島について

分析を行うたびに五島についてご紹介します。

おすすめの場所 3 鬼岳がやはりおすすめです。

是非コロナが落ち着きましたら、地域を普及させるためにも五島に旅してくださいねー。

goto.nagasaki-tabinet.com

エンボス画像 実験結果②

本サイトの目的

2020年のGWは五島に帰省できず、また五島の人は観光客の激減で困っている。 そこで自分にできることは無いかと考え、五島の写真を使用し画像処理技術を勉強した内容を公開することで 五島に貢献したいと考えた。

前回の記事の画像について

前回では、五島にある中学校の画像を用いました。 一方、多くの方は五島に縁も縁もないため、五島に興味がある方にとって魅力的な五島市をご紹介していきます。

五島の魅力

釣り

2019年8月に帰省したときに魚釣りしたときの画像です。 目の瞳が可愛いのがトビウオです。黒い魚がメジナです。

f:id:unachan_kz:20190816161256j:plain

さて、この魚をエンボス加工した場合どうなるのか?をみてみます。

実験1.  魚エンボス実験

f:id:unachan_kz:20200509232248j:plain

トビウオの瞳が可愛く残ってますねぇ

実験2. 魚エンボス実験(エッジ強調)

もう少し、エッジを際立ててみます。 エッジを際立たせるためには、エンボス処理する際、入力画像を反転し水平移動した数値を実験1.のときよりも 大きく水平移動することでエッジを強調することができます。 f:id:unachan_kz:20200509232559j:plain

砂浜

三井楽にある美しい白良が浜です。 盆には人が集まり、花火をしたりします。 f:id:unachan_kz:20180916171426j:plain

エンボス結果は以下の感じ f:id:unachan_kz:20200509233430j:plain

夕陽

もっといい画像ないのかよっと思ってしまうが、ま、綺麗さは伝わるかも。。。 f:id:unachan_kz:20190813190610j:plain

エンボス結果は以下の感じ (車が強調されてますね。。。。) f:id:unachan_kz:20200509234146j:plain

参考資料

デジタル画像処理の4-4章を参考にしました。

また本実験に使用したコードを下記に保存いたしました。

github.com

なおソースコードは下記の方のブログを参考にさせていただきました。 optie.hatenablog.com

五島について

分析を行うたびに五島についてご紹介します。

おすすめの場所 2 貝津、嵯峨野島がやはりおすすめです。

是非コロナが落ち着きましたら、地域を普及させるためにも五島に旅してくださいねー。

www.nagasaki-tabinet.com

エンボス画像

本サイトの目的

2020年のGWは五島に帰省できず、また五島の人は観光客の激減で困っている。 そこで自分にできることは無いかと考え、五島の写真を使用し画像処理技術を勉強した内容を公開することで 五島に貢献したいと考えた。

エンボス技術とは?

エンボス画像はご存知でしょうか。 エンボス画像は以下のような画像です。 f:id:unachan_kz:20200509204612j:plain

処理の流れについて

下記がエンボス画像の生成過程となります。 f:id:unachan_kz:20200509212253p:plain

  1. 入力画像について: f:id:unachan_kz:20160303085325j:plain

  2. 入力画像をグレースケールに変更します。 f:id:unachan_kz:20200509212600j:plain

  3. 入力画像f1の濃淡を反転した画像を生成します。 f:id:unachan_kz:20200509212643j:plain

  4. 画像を適当な方向に数画素平行移動します。この画像をf2とします。 f:id:unachan_kz:20200509212735j:plain

  5. g=(f1+f2)-128を行うことでエンボス画像を作成することができます。 画素値は0〜255の範囲の値であります。このためgの計算結果が0より小さい時は0、 255より大きいときは255としてます。

考察

入力画像の濃淡が平坦な部分では、出力画素が中間値の127となっていることがわかります。 また入力画像の濃淡が急激に変化するエッジ部分は、その変化方向に応じてプラスまたはマイナスのピークになっています。

f:id:unachan_kz:20200509224829p:plain

参考資料

デジタル画像処理の4-4章を参考にしました。

また本実験で使用したコードを下記に保存いたしました。

github.com

五島について

分析を行うたびに五島についてご紹介します。

おすすめの場所 私の地元である五島市三井楽にある高浜海水浴場がやはりおすすめです。 透明度が綺麗で泳いでいるとお魚が近づいてきます。

是非コロナが落ち着きましたら、地域を普及させるためにも五島に旅してくださいねー。

goto.nagasaki-tabinet.com