午後わてんのブログ

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

WPF

処理中に進捗率表示とキャンセルボタンで中止はasync、await、Task.Run、Progress、CancellationTokenSource

時間のかかる処理中に 進捗率を表示 キャンセルボタンで処理中止 いつもどおりよくわかっていないけどできた!のでメモしとく github.com 進捗率表示更新は WPF/Windowsフォーム:時間のかかる処理をバックグラウンドで実行するには?(async/await編)[C…

Lanczos法で画像の拡大してみた

Lanczos法で画像の拡大 前回のバイリニア法とは重みの付け方が違う sinc関数ってのを使っているらしい sinc関数 - Wikipedia https://ja.wikipedia.org/wiki/Sinc%E9%96%A2%E6%95%B0 内挿 - Wikipedia https://ja.wikipedia.org/wiki/%E5%86%85%E6%8C%BF 普…

バイキュービック法で画像の拡大してみようとしたけど、難しすぎた

バイキュービック法で画像の拡大してみようとしたけど、できたようなできていないような感じになった、難しすぎた 2021/04/23追記 やっぱり間違っていたので書き直した gogowaten.hatenablog.com 2021/04/23追記ここまで 前回のバイリニア法は 近くの上下左…

バイリニア法で画像の拡大縮小

バイリニア法(bilinear interpolation)をWPFとC#で書いてみた だいたいあっていると思う 2021/04/15追記 間違っていたので書き直した(再挑戦した)のが gogowaten.hatenablog.com これはかなり正解に近いと思う(フラグ) 2021/04/15追記ここまで 距離に応じて…

最近傍補間法で画像の拡大縮小試してみた

新しく書き直した gogowaten.hatenablog.com ↑の記事のほうがいい ここから↓はいまいち 最近傍補間法(ニアレストネイバー法、nearest neighbor interpolation)を使って画像の拡大縮小をWPFとC#で WPFで最近傍補間法を使った拡大縮小をするだけなら、RenderTr…

Owner指定するタイミング、別WindowとMainWindowとの連携、カラーピッカーを追加してパレットの色変更

カラーピッカーを追加してパレットの色を変更できるようにした。 ダウンロード先 github.com 別のWindowとMainWindowとの連携する場合に、Ownerの指定するタイミングを間違えて、めんどくさいことになったはなし gogowaten.hatenablog.com パレットを使った…

カラーピッカーのdll(ライブラリ)作った、WPFユーザーコントロール

カラーピッカーのdll(ライブラリ)できた 見た目 これは以前の 2018/04/03 gogowaten.hatenablog.com これと gogowaten.hatenablog.com これと gogowaten.hatenablog.com これの組み合わせで作った 動き 数値指定はテキストボックス上のマウスホイール回転で1…

イベントの追加、ユーザーコントロールの依存関係プロパティの変更時にイベント発生させたい

ユーザーコントロールのDependencyPropertyが変更された時にイベントを発生させたい 昨日のIntegerUpDownコントロールのValueプロパティ、これが変更された時に何かの処理をしたくて、それにはイベントを追加するんだろうなとググって 外観をカスタマイズで…

WindowsFormのNumericUpDownみたいなのをWPFのユーザーコントロールでDLLで作ってみた

2年後もっといいのできた gogowaten.hatenablog.com なので↓以下の記事は簡易版って感じ 以前のTextBoxとScrollBarの組み合わせで作っていたWindowsFormのNumericUpDownみたいなのをWPFのユーザーコントロールでDLLで作った 扱える数値は整数だけ 設定できる…

ユーザーコントロール(WPF)のDLLを作ってアプリで使うまでの手順メモ

ユーザーコントロールのDLLを作ってアプリで使うまでの手順メモ いつものように間違っていたり冗長なところがあると思うけどできたので書いておく 字ばっかりで絵がないとわかんないよのね ユーザーコントロールのDLLを作成するまで WPFアプリのプロジェクト…

パレットを使った減色で誤差拡散

減色パレットで誤差拡散 ダウンロード先 github.com できた いつもの画像を 4色減色で 誤差拡散無し 誤差拡散あり 誤差拡散はFloydSteinberg式 8色 倍の色数になったけど大差ない見た目 8色 最多ピクセル数を分割Cubeに選択して グラデーションが得意なパレ…

処理速度比較、画像の使用色数を数える、重複なしのリストのHashSetも速いけど配列+ifも速かった

ダウンロード先 github.com 画像の使用色数を数える 画像ファイルからのBitmapSourceからCopyPixelsして取得するbyte[]を使って 重複しない色の配列やリストを作って数える方法で処理速度比較してみた 条件 BitmapSourceのPixelFormatはPbgra32限定、アルフ…

分割する場所の選択、メディアンカットで減色パレット作成

続き ダウンロード先 github.com Cubeをどこで分割するのかを4種類試した 辺中央 CubeのRGB3辺の中で一番長い辺を選択、辺の中央で分割 中央値 一番長い辺を選ぶのは↑と同じ、辺の要素の中央値で分割 最小分散p 分散値が最大の辺を選択、分割後の2辺の分散が…

分割するCubeの選択、メディアンカットで減色パレット

おとといからの続き ダウンロード先 github.com 今回は分割するCubeの選択法を変えると パレットはどうなるのか試してみた 選択方法は5つ 最大長辺 最も長い辺(軸)を持つCubeを分割対象にする 最大ピクセル数 ピクセルが最も多いCube 最大体積 Cubeの体積が…

Cubeから色の選び方、メディアンカットで減色パレット

gogowaten.hatenablog.com 2週間前の続き ダウンロード先 github.com メディアンカット法で分割したCubeからの色の選び方いろいろ試してみた Pan1から6が選び方の違いで Pan1 Cubeにあるピクセルの平均色 Pan2 CubeのRGBそれぞれの中央値(メディアン) Pan3 C…

Parallelクラスを使ってもっと速く減色

昨日処理時間短縮の続き Parallelクラスを使ってもっと速く Parallelを使ってforを書くとそのループは並列処理される! なのでCPUコア数に比例して速度が上がるはず お店でいうと レジが1個だったのがたくさん増えた感じ 従業員(CPU)に余裕があれば可動する…

減色変換一覧表を使って処理時間を短縮してみた

昨日の手抜き法でパレット作成処理の時間は問題なくなったので次は 減色変換の処理時間を短縮 前の gogowaten.hatenablog.com 単純減色(ポスタライズ?)試してみた、WPFとC# ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ https://blogs.yahoo.co.j…

手抜きで時間を短縮、k平均法を使った減色パレットの作成

k平均法を使った減色パレットの作成時に手抜きをして処理時間短縮 手を抜くのは重要 どこまで手を抜いても気づかないかを確かめてみるアプリ作った、確かみてみろ! 手抜きの方法は簡単で調査するピクセル数に上限を付けるだけ 上の場合だと 手抜きパレット…

色の距離は難しい、いくつか試したけどわからなかった

色の距離 減色処理で指定したパレットの色に変換する時 パレットの中から一番近い色を探す必要がある パレットがこの3色の時 この色はどの色に近いのか 僕の目から見ると が一番近い こういう処理 今まではこの処理をRGBの値からユークリッド距離で行ってい…

指定色で減色+誤差拡散、減色結果を他のアプリと比較してみた

指定した色に減色する時に誤差拡散を使う この前はメディアンカット法を使って選んだ色をパレットの色にして その色を使って普通に減色していた 今回は誤差拡散も使って減色 いつもの画像を8色に減色 できた!…と思う これだけだと正解なのかわかんないので …

メディアンカット法で色の選択、減色してみた、難しい

メディアンカット法で減色してみた ダウンロード先 github.com 理解できていないから間違っているかも それでもいい結果が得られた いつもの元画像を8色へ いいねえ ピクセル数が最大のCubeを優先分割 もう一つが 長辺が最大のCubeを優先分割のパレット この…

k平均法で減色してみた、設定と結果と処理時間

減色用パレットをk平均法で作成 ダウンロード先 github.com 今までの単純減色だと使われない色が出てきてしまう RGB2階調で8色は 白、黒、赤、緑、青、黄色、水色、赤紫なので ■■■■■■■■ 赤や緑がない画像を変換すると 赤、緑、黄色、赤紫の4色は使われない …

単純減色と誤差拡散とディザリング

今回のアプリ ダウンロード先 ここの20180302_.zip github.com 前回の 単純減色に誤差拡散でディザリング gogowaten.hatenablog.com 単純減色(ポスタライズ?)試してみた、WPFとC# https://blogs.yahoo.co.jp/gogowaten/15388558.html これと gogowaten.hate…

HSVのグラデーションの画像を作成して保存するアプリ作ってみた

以前作ったHSVとRGBの相互変換のdllを使って HSVのグラデーションの画像を作成して保存するアプリ作ってみた ダウンロード先 github.com 動作 修正する2018/03/03以前なので色相360が無彩色になっている 色相90の画像 こういう画像を作成するときは 色相を90…

単純減色(ポスタライズ)にオーダード(パターン)ディザリング、WPFとC#

単純減色(ポスタライズ)にオーダード(パターン)ディザリングしてみた つまり gogowaten.hatenablog.com WPF、画像をディザパターンを使って8色に減色して保存するアプリ ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ https://blogs.yahoo.co.jp/go…

単純減色(ポスタライズ?)試してみた、WPFとC#

今回は gogowaten.hatenablog.com WPF、普通の写真画像を8色に減色 ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ https://blogs.yahoo.co.jp/gogowaten/15342796.html この記事の続き 8色に減色だったのを27色,64,512、…ってしてみた 8色のとき…

8色に減色でも誤差拡散法を試してみた

昨日の続き カラー画像で誤差拡散 アプリダウンロード先 ここの20180223_.8.zipがそれ github.com できた 左から 元の画像 右隣への誤差拡散法 FloydSteinberg FloydSteinberg(蛇行) SierraLite JaJuNi Atkinson 以前試したときはうまく書けなかったけど、昨…

FloydSteinberg他いくつかの誤差拡散を試してみた、白黒2値をディザリング

昨日の続き いくつかの誤差拡散法を試してみた アプリダウンロード先 ここの20180222_.2.zipがそれ github.com 左から順に 元のグレースケール画像 右隣だけに拡散(昨日の) FloydSteinberg式を小数点以下切り捨て FloydSteinberg式を普通に SierraLite JuJuN…

誤差拡散法を使ってディザリング、右隣だけへの誤差拡散、グレースケール画像だけ

誤差拡散法を使ってディザリング その中でも一番単純なもの 誤差を右隣のピクセルに拡散させるもの さらにかんたんにするためにグレースケールの画像を使って試した アプリダウンロード先 github.co ここの20180221_.zipがそれ これが元画像 変換結果 閾値は…

WPF、8色への減色でディザパターンを変更して遊ぶアプリ

gogowaten.hatenablog.com WPF、画像をディザパターンを使って8色に減色して保存するアプリ ( ソフトウェア ) - 午後わてんのブログ - Yahoo!ブログ https://blogs.yahoo.co.jp/gogowaten/15346592.html 1ヶ月前の、この記事の続き 8色への減色で ディザの閾…