午後わてんのブログ

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

複数の画像を並べて重ねて1枚にするPixtack紫陽花 グレースケールと選択範囲画像の保存

選択範囲だけの保存をできるようにした
グレースケールいろいろ
1024x768の画像でCPU PhenomⅡ720 (1.6GHz固定)のとき
NTSC 0.14秒
HDTV 0.61秒
中間 0.17秒
平均 0.15秒
マトリックス 0.22秒  
文字の描画と図形作成で適用を押した文字画像は適用前に戻せないようにした
文字の描画で傾きチェックがない状態でも傾きの数値が適用されていたのを直した
図形作成の適用ボタンで不透明度が反映されていなかったのを修正
図形作成とその他のタブの画サイズ取得と画像から取得をおした時
選択画像の横1920か縦1200を越えていた時にエラーになっていたのを修正
縦横9999までにした
イメージ 1
追加したボタンとか
 

f:id:gogowaten:20191014123426p:plain

楕円画像3つの上に緑の選択範囲画像が乗っている状態で
範囲保存を押すと名前をつけて保存のダイアログがでてくる
保存すると↓
イメージ 3
 

f:id:gogowaten:20191014123441p:plain

 
イメージ 5
楕円での選択範囲保存
 
グレースケール
osakana.factory - グレースケールのひみつ
http://ofo.jp/osakana/cgtips/grayscale.phtml
↑を参考にして

f:id:gogowaten:20191014123507p:plain

 
RGBとその中間の色で比較
グレースケールのボタンは前からあったもので
カラーマトリックスを使って指定しているもの
赤0.299,緑0.587、青0.114で計算している
HDTVのボタンだけガンマ値を設定できるようにして初期値は2.2
左のトラックバーで元の画像のガンマ値
右のトラックバーでガンマ補正値になるのかな?
赤 = *1 * 255
 

f:id:gogowaten:20191014123517p:plain

(1360x1660の画像)
 
数値が入っている方は縦1x横20を30倍に拡大したもの
 

f:id:gogowaten:20191014123531p:plain

(1360x1130の画像)
計算時間はHDTV以外はほとんど同じでHDTVだけ他の4倍かかる
僕の眼からみるとHDTVが一番自然な印象
カラーマトリックスNTSCはほとんど同じなのは計算式がほとんど同じだからで結果もいい感じ
平均法は単純だけど結果も悪くないと思う
 
 
イメージ 9
 
こうしてみると違いがわからない
 
イメージ 10
これだと違いが判るなあ
色変えのタブにあるグレースケールは平均値で作っている
 
ダウンロード
ファイル名 Pixtack_20140219.zip
 

*1: 赤 / 255) ^ 左のトラックバー) * 0.222015

緑 = (( 緑 / 255) ^ 左のトラックバー) * 0.706655
青 = (( 青 / 255) ^ 左のトラックバー) * 0.07133
輝度 = ((赤 + 緑 + 青) ^ (1 / 右のトラックバー