二値化を実装しました。

Boltzmanです. テスト期間中だろうが活動をやめないKCSです. (余裕の記事投稿だ. 馬力が違いますよ. )

今回は「魚眼 de AR」の第二回です. 続きましたね. (“ドゥ”ではなく”デ”と読んでください. Moi, je suis japonais. )今回は画像の二値化をUnityで実装してみました.

そういえば初めて投稿した記事で画像解析なんてしないみたいなことを言った気がしますが, あれは嘘です. まあその道の人になるつもりはありませんが, 必要とあらば首を突っ込むのも辞さないというスタンスでやっております.

 

自分で二値化をやったことがないと, 二値化の閾値自動決定アルゴリズムを作るときにイメージが湧きづらいので良い経験になりました. 以下に結果の画像だけ先に提示します.

th1 th2

なんかTwitterにあふれる自撮りみたいになってしまって甚だ悲しいですが, おかげでいい感じに二値化できているのがわかると思います. 結果を見やすくするための致し方ない犠牲です.

実行速度は目に見えて遅いです. 映像がカクつきます.

 

方法としては, まずWebカメラの画像をWebCamTextureで受け取り, forループ(iとjの二重)でWebCamTextureのGetPixcel(i,j).grayscaleと閾値を比較し(比較対象はgrayscaleであってるのか…?), 結果をColor32[]に突っ込んで, ループが終わったらColor32[]を別に用意したTexture2DのSetPixcels32()に突っ込んでApply()で適用するといった感じです(伝われ). 上の画像では閾値=0.3でやっています.

他の部員に見てもらって手直しします. 果たして原型は残るのだろうか.

つづけ.

 

Posted on