午後わてんのブログ

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

画像処理

いろいろな局所範囲しきい値で画像の2値化を試してみた

局所範囲(注目ピクセルの近傍ピクセル)からしきい値を計算して2値化、この前は平均値をしきい値にしたものだった。今回はそれ以外の計算方法をググって、いくつか試してみた 使ったアプリは 20200422_局所しきい値で2値化.zip github.com 画像ファイルドロッ…

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

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

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

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

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

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

減色テスト、グレースケール版その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値化の誤差拡散処理の走査を左右交互

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から新しく作成した…

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

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

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

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

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

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

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

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

C# .NET FrameworkでもCPUの拡張命令SIMDと並列処理で、画像の減色処理速度40倍

2020/03追記 処理速度40倍ってあるけど、実際はそんなに速くなっていない可能性 gogowaten.hatenablog.com MathクラスのPowを使わないで普通に掛け算すれば、30~80倍くらい速くなる。逆に言うとPowを使うと遅くなる。SIMDでの処理ではMathPowを使っていない…

WPFのBitmapSourceVisualizer、画像の保存とクリップボードへコピーできるようにした

gogowaten.hatenablog.com これの続き dllの名前を変更した、MyVisualizerからBitmapSourceVisualizer 画像を保存できるようにした 画像をクリップボードへコピーできるようにした 画像の表示方法を選択出るようにした、実寸とウィンドウに合わせる これで十…

WPFのBitmapSource用のデバッガービジュアライザー作ってみた

WPFのBitmapSource用のデバッガービジュアライザー作ってみた ダウンロード先 MyVisualizer.zip 展開してMyVisualizer.dllを ドキュメントフォルダにある使いたいバージョンのVisual StudioのVisualizersフォルダに入れるだけ ユーザー名がwatenでVisual Stu…

PDFをjpegにするアプリ、pngにもできるようにした

gogowaten.hatenablog.com の続き png形式でも保存できるようにした PDFtoJPEG 1.4 ダウンロード先 PDFtoJPEG_1.4.zip PDFファイルは www.maff.go.jp 野菜の輸入動向(月間速報)https://www.maff.go.jp/kanto/seisan/engei/yasai-yunyu/attach/pdf/index-19…

PDFをjpegにするアプリ、jpegのZipにできるようにした

昨日の gogowaten.hatenablog.com 続き PDFファイルをjpegに変換したものを、1つのzipファイルにできるようにした ダウンロード PDFtoJPEG_1.3.zip PDFファイルは www.maff.go.jp 野菜の輸入動向(月間速報)https://www.maff.go.jp/kanto/seisan/engei/yasa…

WPF、PDFファイルをロックしないで開く

昨日の gogowaten.hatenablog.com 続き PDFファイルをロックしないで画像として表示したい 表示しているPDFファイルは 農林水産省 トマトの種類と見分け方 http://www.maff.go.jp/j/pr/aff/1708/pdf/1708_04.pdf より引用 開いている間はファイルがロックさ…

PDFをjpegに変換するアプリ、jpeg品質指定と予測ファイルサイズの取得

一昨日の gogowaten.hatenablog.com 続き jpegの画質を指定できるようにした、最低10から最高の100 表示するページを指定できるようにした 保存されるjpegファイルサイズの予測を表示 表示する画像は指定した画質相当のものにした クリックで元のBitmap画像…

WPFでPDFをjpeg画像に変換するアプリ作ってみた

PDFファイルをjpegの画像ファイルに変換するアプリ作ってみた ダウンロード PDFtoJPEG.zip ギットハブ github.com 農林水産省 トマトの種類と見分け方 http://www.maff.go.jp/j/pr/aff/1708/pdf/1708_04.pdf ここからダウンロードしたPDFファイルをアプリに…

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

ようやく納得できるまでになった 変換後の座標をxとして、xが参照するべき変換前座標は (x + 0.5) * (変換前ピクセル数 / 変換後ピクセル数) これの小数点以下切り捨てた値 例えば倍率が3で、変換前画像の横ピクセル数が4のときは 変換後画像の横ピクセル数…

3x3のメディアンフィルタの高速化をC#で書いてみた

3×3メディアンフィルタの高速アルゴリズム https://www.ipsj.or.jp/award/9faeag0000004f1r-att/LI_9.pdf ここを見てC#で書いて実行した結果 前回4.39秒だったのが0.20秒になった 439/20≒22で、約22倍も速くなったことになる、すごい 使った画像は 2048x1…

メディアンフィルタで画像のノイズ除去試してみた、WPF、C#

メディアンフィルタでごま塩ノイズ除去 全体的にぼやけてしまうけどごま塩ノイズを除去できた メディアンフィルタ 注目セルとその周囲8近傍の値の中央値を 注目セルの新しい値にする エクセルには中央値を求めるMEDIAN関数がある 便利だなあ 色を付けてみる…

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

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

画像にノイズ付加するアプリ、一様分布乱数から正規分布乱数生成、エクセルのNORMINV関数で正規乱数

画像にノイズ付加してみた ピクセルの輝度値に乱数を加えればノイズになる 一様分布になる乱数と正規分布になる乱数、正規乱数 一様分布 エクセルのRAND関数の結果1000個のヒストグラム どの範囲もだいたい同じ個数になっている、こういうのを一様分布ってい…

画像のエッジ抽出、ラプラシアンフィルタ

画像のエッジ抽出、ラプラシアンフィルタ、ラプラシアンオペレータ ラプラシアンフィルタでエッジ抽出した結果 色の境界、輪郭を白で表現する感じ 元の画像 この前のガウスぼかしと同じようにカーネル(マスク、オペレータ)があって この2つがよく使われるみ…