午後わてんのブログ

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

2020-01-01から1年間の記事一覧

ガンマ補正してから黒灰白の3色に減色+ディザリングしてみた、グレースケール画像

前回の続きで、今回は3色に減色、3色は0, 127, 255 ディザリングはいつもの誤差拡散FloydSteinberg方式 github.com 今回のアプリ ダウンロード:20200507_ガンマ補正してから3色誤差拡散.zip 今回のアプリ 画像ファイルドロップで画像表示、カラー画像もPixe…

ガンマ補正してから画像の2値化ディザリングしてみた

2値化ディザリングするときにガンマ補正をしないと、元の画像より明るい画像になる 輝度値がそれぞれ 0(黒) 255(白) の2値を使って、その中間になる128(灰色)の画像をディザリング処理すると 128(灰色) 2値化ディザリング 元の画像よりかなり明るく見える、…

パソコンの掃除、サイドパネルは閉じて使うことにした

毎年恒例のパソコンの掃除 組み立てたのは去年の7月で、それ以来サイドパネルを開けっ放しで使っていたから埃がひどい、特にCPUクーラー周り CPUファンから吹き付ける風によって、空いているメモリスロットにホコリが堆積 掃除機を使って多少きれいになった …

局所的平均値をしきい値として2値化、局所範囲ピクセルの合計は差分計算で高速化

2値化するときに使うしきい値の計算を、注目ピクセルの周囲のピクセルの値を使ってする 範囲は1指定なら3x3ピクセル、2なら5x5、3なら7x7とするようにして 計算は平均値にしてみた 範囲1で注目ピクセルの座標が(1,1)のとき 3x3ピクセルの平均値は162.2 = (14…

イチゴに追肥から9日後の様子、強風被害、山芋ツルが紐に絡まれる

イチゴに追肥から9日後の様子 プランターの下側(手前側)に気持ち程度の追肥をしてからの経過、葉っぱが大きくならないから追肥したんだけど、あまり変化ない。追肥した量が少なすぎたのか、それとも他の要因なのか 同じ時期での去年、一昨年と比較 葉っぱの…

減色テスト、グレースケール版その4、誤差拡散すると誤差蓄積されすぎて色が流れたようになる問題

誤差拡散法 誤差蓄積 誤差拡散法を使って減色できるようにした、方式はフロイドスタインバーグ 20200327_減色テストグレースケールvar.1.3.zip github.com 誤差蓄積されすぎ問題 この画像を2色に減色する、減色用のパレットを作成 2色は161と97が選ばれた、…

減色テスト、グレースケール版その3、Kittlerの方法でCube分割を追加した

github.com 20200327_減色テストグレースケールver.1.2.zip パレットの色を昇順ソートできるようにした Cube分割方法にKittlerの方法を追加した チェックを入れたパレットはパレットリストクリアしても残すようにした Kittlerの方法 大津の方法と比べてみる …

画像を1bpp(1bit)白黒画像に変換するアプリver.1.2.1

github.com 20200324_画像を白黒2値に変換ver.1.2.1.zip しきい値設定にこの前テストしたKittlerの方法を追加した 普通かな、大津の方法とそれほど変わらない 明るい画素(253以上)が多い画像 Kittlerの方法だとしきい値は249とかなり大きくなった 0~255まで…

Kittlerの方法でしきい値を求めるのを、エクセル2007とC#WPFで書いてみた

ヒストグラムを2分する時のしきい値はどこが最適なのかを求める この場合なら左右対称なので真ん中 しきい値を4にして0~3と4~7に2分すれば丁度いい それぞれの範囲の値から平均値と分散を計算して、それを使って正規分布をグラフにすると こんな感じのがで…

にんにくの芽収穫終了、にんにくにネギコガの幼虫、部屋に放置していた山芋も発芽、今季イチゴ初収穫の味は?

にんにく(遠州極早生) 左端プランターからもにんにくの芽収穫、このプランターは一番良く育っていたんだけど、にんにくの芽自体の成長は他のプランターより遅い感じだったので2日遅れになった 株自体はよく成長していたので約6ミリと太い、それでも長さは短…

C#で累積分布関数っぽいの、配列の値から作った正規分布の指定区間の面積(割合)を台形の面積で求めてみた

正規分布の面積 x(横軸)が0~1までの塗りつぶしてあるところの面積が、全体の何%なのかを知りたい エクセル2007ならNORMDIST関数を使えばラクにできる、新しいエクセルならもっとラクかも 平均=0、標準偏差=0.7のときxが0~1までの面積の割合は =NORMDIST(1,…

にんにくの芽収穫、山芋発芽、イチゴに申し訳程度の追肥

にんにく(遠州極早生) 一昨日の掘り出したこれ 中がどうなっているのか見てみた 球根部分を輪切りにしたところ 鱗片は4つできていた、少ないけど、これから増えるところだったのかも? 上の棒状のが花茎部分(にんにくの芽)、したの残骸は花茎を包んでいた皮…

にんにくの芽曲がってきた、具合の良くないのを1株掘り起こしてみた、山芋のツルを絡ませるビニールテープを張った

にんにく(遠州極早生) 12月に植え付けした株からも花茎(にんにくの芽)が伸びてきた でも、この1株だけ 11月に植え付けた株 花茎が曲がってきた、花茎といっても遠州極早生は花は付かなくて、かわりにむかご(珠芽(しゅが))になる 伸びるほど頭を垂れるにんに…

画像の2値化の誤差拡散処理の走査を左右交互

caca.zoy.org 昨日に続いて、こちらを参考にして処理の方向を左右交互にするのを試した 昨日の記事では処理の方向は偶数行、奇数行ともに右進行だったのを、今回は奇数行を左進行にしてみる、これで処理の方向は左右交互になる 左進行時の誤差拡散 右進行と…

誤差拡散法を試してみた2回め

誤差拡散 Libcaca study - 3. Error diffusion こちらを参考にして試してみた 左から FloydSteinberg JaJuNi(Jarvis, Judice, and Ninke) FloydSteinbergDervatives ShiauFan ShiauFan2 Stucki Burkes Sierra SierraTwoRow SierraLite Atkinson ? PixelForm…

画像をアプリに埋め込んでアプリで利用するまでの手順メモ

dobon.net 最初はこの方法で試してみたけど、WPF+.NET Coreっていう違いのためかうまくできなくて dobon.net ここと smdn.jp ここを参考にしてできた でも全く同じじゃなくて微妙に違うところもあったのでメモ 環境 Visual Studio Community 2019 .NET Core…

減色テスト、グレースケール版その2

20200327_減色テストグレースケール.zip github.com 今回はギットのブランチってのを使って、それのリンクを貼り付けた master ┗ブランチA ┗ブランチB←これのリンク 変更を加えていくのはブランチAで、ブログに貼り付けるときはブランチAから新しく作成した…

にんにくが不調に、追肥が多すぎた?にんにくの芽がでてきた!今冬は過去8年で一番暖かかった、イチゴ開花、春の雑草も開花

にんにく(遠州極早生)追肥の前後の様子 追肥1日前、いいね 追肥2日後、下の葉っぱが急に枯れてきた 追肥3日後 追肥6日後、通常でも古い葉っぱは枯れていくけど早すぎる 水切れでもないのに葉っぱがしおれてシワシワになっている しおれ具合の比較 ↑追肥1日前…

減色テスト、グレースケール版

2020WPF/20200323_減色グレースケール用 前回の減色パレット作成から、実際の減色変換まで作ってみた 20200323_減色グレースケール用.zip グレースケール画像でテスト パレットはこんな感じで、2色だと64と192 それぞれのパレットで変換したところ 以前のだ…

画像を1bpp(1bit)白黒画像に変換するアプリver1.2

1年以上前のこのアプリ gogowaten.hatenablog.com .NET Frameworkだったので.NET Coreに移植(コピペ)して、ついでにいくつか変更した 変換前後を見比べられるように、画像クリックで元の画像を表示するようにした クリップボードの画像を貼り付けできるよう…

減色パレット作成テスト、グレースケール版

github.com [アプリのファイル名:20200322_減色一括クラス.zip] クリップボードから貼り付けるか、画像ファイルのドロップで画像表示、カラーの画像でもグレースケールで表示 「パレット作成」の右に並んでいる数値ボタンでパレット作成 減色パレット作成方…

画像の使用色数とその色のピクセル数を表示するアプリその6

CountColor1.3.8 クリップボードの画像を貼り付けできるようにした 背景に市松模様を表示できるようにした CountColor1.3.8 ダウンロード先はギットハブ ファイル名:CountColor1.3.8.zip github.com 貼付1ボタン 普通の画像ならこれで貼り付けできるはず Pr…

にんにくに最後の追肥、いちごは開花したけどいまいち、やつの名はチドメグサ(雑草)、期限切れコーヒーで記録更新

にんにく(遠州極早生)の成長具合 右側プランター 63センチ、前回3/7は54センチだったから11日で9センチも伸びた 特別よく育っている左側プランター 81センチ、前回は72センチだったので、こちらも9センチの伸び 植え付け時期が遅かったにんにく ここと ここ…

.NET CoreでもWPFのBitmapSource用のデバッガービジュアライザーを使うには

gogowaten.hatenablog.com gogowaten.hatenablog.com ↑のビジュアライザーを.NET Coreで使おうとしたら こんなエラーが出て使えなかった、どうやらビジュアライザーのdllファイルを置く場所が.NET Frameworkとは違うみたいで、エラー画面にあるパス C:\Users…

WPFのListBox、ItemTemplateで表示変更したListBoxを動的作成したいのでXAMLじゃなくてC#コードで書いてみた

ListBoxを動的追加したい、それもItemTemplateで表示を変更したListBox、さらにBindingも ボタンクリックでListBox追加される アプリのコードとダウンロード先 ファイル名:20200317_ListBox.zip github.com ListBoxの設定をXAMLで書いた部分 <ListBox x:Name="MyListBox1" ItemsSource="{Binding}"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel> </stackpanel></datatemplate></listbox.itemtemplate></listbox>

にんにく(遠州極早生)の成長具合を前年と比較してみた、いちご発芽

にんにく(遠州極早生)の成長具合 追肥した前回2/12は 40センチ 24日後の今日は 50センチを超えていた、これが右側のプランター 前回の左上のプランター 50センチだったのが 今日は 70センチ!結構伸びたなあ 右側プランター 右端のは少し成長が遅れていたけ…

C#.NET CoreでSIMDを使ってドット積、byte型配列ならMultiplyAddAdjacentが速かった

値は全て255の要素数1千万のbyte型配列、これのドット積を求めるのに色々試してみた SIMDを使わない普通の掛け算と足し算 System.NumericsでSIMD Dot System.Runtime.IntrinsicsでSIMD AVX Multiply + Add SSE2 MultiplyAddAdjacent FMA MultiplyAdd SSE41 D…

C#SIMDで合計値、byte型配列をIntrinsicsとNumericsのAddで合計値の処理速度

IntrinsicsとNumericsのAddでbyte型配列の合計値を計算 使ったアプリは AVX2をサポートしていないCPUだと動かないかも? Intel CPUだとHaswellコアから対応なので第4世代、2013年以降 AMD CPUだとZenコアから対応なので、Ryzen全部とAthlonでもZenコアなら対…

byte型配列から最小値と最大値、CPUのSIMDを使うクラスIntrinsicsとNumericsどちらが速いのか

CPUのSIMDを使うクラスIntrinsicsとNumerics、どちらが速いのかを、要素数1千万のbyte型配列から最小値と最大値を求める時間で比較してみた 今回の方法では結果は差が出なかった。シングルスレッド、マルチスレッドともに同じ速さ。Intrinsicsはポインタを使…

C#でSIMDを使うSystem.Runtime.Intrinsicsを試してみた、byte型配列の合計

SIMDを使っての計算はSystem.Numerics.Vectorクラスと、これとは別にSystem.Runtime.Intrinsicsってのもあるみたいで試してみた 環境 CPU AMD Ryzen 5 2400G(4コア8スレッド) MEM DDR4-2666 Window 10 Home 64bit Visual Studio 2019 Community .NET Core 3.…