午後わてんのブログ

ベランダ菜園とWindows用アプリ作成(WPFとC#)

画像にノイズ付加するアプリ、カラー版

画像にノイズ付加するアプリ、一様分布乱数から正規分布乱数生成、エクセルのNORMINV関数で正規乱数 ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15961286.html


この前はグレースケール画像だったのをカラー画像でも試してみた
カラー画像にはカラーノイズとそうじゃないノイズの2つができた
 
イメージ 1
イメージ 2
元の画像
 
 
ノイズの強さ50
左がカラーノイズ
イメージ 38
できた
電波状況が良くないアナログテレビみたい
昔住んでたところの共同アンテナがイマイチでこれに
疑似輪郭のゴーストもプラスされてひどかったのを思い出すなど
 
 
4倍に拡大してみる
イメージ 3
元のRGBに別々の乱数を足している左は、元の色相とはかけ離れた色になるけど
同じ乱数を足した右の方は、ある程度同じ色相になる感じ
 
 
 
ごま塩ノイズ
イメージ 4
カラーは2種類できた、最初にできたのは左なんだけどなんか違うのに気づいて真ん中のカラー2を加えた
カラー2はピクセルごとにノイズを付加するかどうかを判定して、付加するならRGB別々の乱数で0か255にしているので、ノイズ判定になったピクセルの色は、RGBそれぞれで0か255の組み合わせ8色のうちのどれかになる
左はRGBごとにノイズを付加するかどうかを判定して、そのまま0か255にしている
なので同じピクセルでもRGBごとに元の値だったり、0か255になるから色んな色になる
 
 
カラーごま塩
 
これもいいけど、これじゃない
 
カラーごま塩2
イメージ 7
真・カラーごま塩
 
普通のごま塩

f:id:gogowaten:20191214130009p:plain

 
前回のグレースケール画像専用と比較

f:id:gogowaten:20191214130022p:plain

これがグレースケール画像用で、これをピクセルフォーマットRgb24のカラー版にすると
 
ピクセルフォーマットRgb24専用

f:id:gogowaten:20191214130035p:plain

書き換えたところは
ピクセルフォーマットがGray8からRgb24になったので
画像の1ピクセル行のbyte数を表すstrideの値が3倍、86行目
それに合わせてbyte配列の要素数も変わったので、ループ回数も変化、90行目
これだけ、思っていたよりだいぶ少ない
これの結果が
カラーノイズ付加
イメージ 10
元の色とはかけ離れた色相の色が付加される
 
 
 
ノイズ付加
イメージ 11
元の色に準拠した感じのノイズ
同じ乱数を使っているから楽そうに見えるけど
 

f:id:gogowaten:20191214130051p:plain

こっちのほうが長くなった
 
 
 
 
 
処理時間(2048x1536ピクセルの画像)
2.0秒 カラーノイズ付加(12回足して6引く)
1.0秒 ノイズ付加(12回足して6引く)
1.5秒 カラーノイズ付加(ボックス=ミュラー法)
0.4秒 ノイズ付加(ボックス=ミュラー法)
0.3秒 カラーノイズ付加(一様分布乱数)
0.1秒 ノイズ付加(一様分布乱数)
0.2秒 カラーごま塩
0.1秒 カラーごま塩
0.1秒 ごま塩
手元の体内ストップウォッチで計測
グレースケール画像より2倍位になった
 
 
 
 
 
 
イメージ 13
真ん中がカラーノイズ付加、下がノイズ付加
ノイズが弱いとどちらも同じ感じ
 
元画像の色の分布
イメージ 19
1色
 
 
 
ノイズの強さ5、カラーノイズ
イメージ 20
ほとんど青なのは変わらず
 
イメージ 21
色数は3万以上になって、一番多い色でも全体の0.05%
意外にバラけるんだなあ
 
カラーノイズじゃないほう
イメージ 22
色相は変化なし
 
イメージ 23
色数も51色と少ない
一番多い色で8%
 
 
強さ30
イメージ 14
カラーとそうじゃないのでは少し差が出てきた
 
カラーノイズのほう
イメージ 24
色相の分布が広がってきた
色数は100万近い
 
からーじゃないほう
イメージ 25
こちらの色相分布も分かれてきたけどほぼ青
 
 
 
 
ノイズの強さ120
イメージ 15
ここまで強くするとカラーの方は違う色が目立つ
 
イメージ 26
色相は青を中心に全体に広がっている
色数が100万近いのはさっきの、ノイズの強さ30と変わらずだけど
使用色が偏って青と水色の二強になった
色の少ない順に並べ替えてみると
イメージ 27
かなりいろいろな色が使われているのがわかった
 
カラーじゃないほう
イメージ 28
色相は広がったけど青が中心なのは変わらず
使用色は黒と白の二強になっていた
 
 
 
 
強さ255
イメージ 16
上のカラーノイズは元の色がわからないくらいになった
 
カラーノイズ
イメージ 29
分散するのかと思ったら逆に本の青が多くなってる
色数も半分くらいに減った
 
 
カラーじゃないほう
イメージ 30
色数は全く変わらず
黒と白が増えた
 
 
 
 
強さ255で2回処理
イメージ 17
まだ上があった
 
 
イメージ 31
色数は少し減って色相はRGBとその中間と白黒の8つに偏ってきた
 
 
カラーじゃない方
イメージ 32
色数は450万から80万に減少、白と黒がさらに増える
色相分布はあまり変化なし
 
 
強さ255で3回処理
イメージ 18
ザーッて音が聞こえてきそう
これ以上は処理を重ねても同じような画像になった
ごま塩ノイズだと強さ255の1回処理でこうなる
 
イメージ 34
何故か色数が増えたけど
このまま繰り返すと8色だけになりそう
 
イメージ 33
こっちも何故か色数は増えたけど最後は白と黒だけになりそう

正規乱数と一様乱数

f:id:gogowaten:20191214130210p:plain

だいたい同じくらいのノイズになるようにしたのを比較
やっぱりそんなに違いがないかなあ、これなら簡単な一様乱数System.Randomでいいような
 
 
 
 
 
ギットハブ

github.com

 
イメージ 36
画像ファイルドロップで画像表示
クリップボードの画像も表示できる
表示画像をクリップボードにわたすことができる
ノイズの強さを決めてノイズ付加ボタンでノイズ付加
表示画像クリックで元の画像と切り替え
確認ボタンは平均輝度と標準偏差を表示
イメージ 37
平均輝度はR*G*B/3で計算している
 
 
 
関連記事
次回、2019/05/29は5日後

gogowaten.hatenablog.com

メディアンフィルタで画像のノイズ除去試してみた、WPFC# ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15965377.html
 
前回2019/05/22はおととい

gogowaten.hatenablog.com

画像にノイズ付加するアプリ、一様分布乱数から正規分布乱数生成、エクセルのNORMINV関数で正規乱数 ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15961286.html
 
2019/4/8は2ヶ月くらい前

gogowaten.hatenablog.com

画像の色相をバブルチャート風に表示するアプリ ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15926942.html
 
 
2019/3/30は2ヶ月くらい前

gogowaten.hatenablog.com

画像の使用色数とその色のピクセル数を表示するアプリその5 ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ
https://blogs.yahoo.co.jp/gogowaten/15918266.html