午後わてんのブログ

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

WPF

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

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

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

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

DrawLinesで直線の描画と、その頂点を表示してマウスドラッグ

Windows FormアプリをVisual Basicで マウスドラッグでラベルコントロールの移動と直線の描画 2014/12/19は5年前 gogowaten.hatenablog.com このときと同じなんだけど、書き直してみた 直線はGraphicsクラスのDrawLinesを使って描画 DrawLinesはPointの配列…

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つがよく使われるみ…

ガウス関数からカーネル作成、標準偏差とカーネルサイズ、グレースケール画像のぼかし処理

画像のぼかし処理で使うカーネルをガウス関数から作成してガウスぼかし 標準偏差の指定とぼかし具合 カーネルサイズは3x3で標準偏差を0.1、0.5、1.0 標準偏差=0.1だと全くぼやけない、0.5でほんの少しぼやけたかなくらいで、1.0だとぼやけたのがはっきりわか…

画像のぼかし処理、8近傍平均とガウスぼかし、グレースケールで処理

8近傍平均は移動平均フィルター ガウシアンフィルタはガウスぼかし 上下左右は4近傍 呼び方が安定しない 8近傍はこの前の上下左右から参照ピクセルが増えただけ、斜め方向の4ピクセルを加えた9ピクセルの合計の平均値を新しい値にする ガウシアンは中心の注…

画像ぼかし処理、普通のぼかし処理では画像によってイマイチな結果になる

カラー画像のぼかし処理するアプリ 元画像 これを ぼかし処理(色の補正なし) ぼかし処理(色の補正あり) 補正の有無での違いはこの画像では感じられないねえ ぼかし処理での色の補正 gigazine.net ぼかし処理でググっていたらこんな記事を見かけた なんでも普…

画像のぼかし処理、注目ピクセルとその上下左右の平均値に変換

ウィンドウに画像ファイルドロップで 画像が表示される カラー画像もグレースケールで表示される ぼかし上下左右ボタンを押すとぼかし処理される 処理の重ねがけ 5回ぼかし処理したところ 元画像とぼかし処理後画像の切り替え 画像を左クリック押している間…

画像の色相をバブルチャート風に表示するアプリ

シェフの気まぐれ極座標バブルチャート風画像の色相分布図 できた なまえがわからん 値に応じて●の大きさと位置を変えているからバブルチャートはあっていると思う 前回は扇形だった 値の大きさを円の中心からの距離(半経)にして扇形のグラフにしていた 円の…

画像の色相を円形ヒストグラム、扇形(パイ型)グラフで表示するアプリできた

できた アプリのウィンドウに画像ファイルをドロップで 画像とその色相のグラフが表示される 色相範囲分割数 12分割は360/12=30度区切り 360分割、こっちのほうがより正確なはず、だけど見た目的には72くらいが面白いかな 色相がない無彩色画像は グラフが…

WPFで図形の円弧🌙、🍕扇形パイ形、🍩ドーナツ型(アーチ形)を表示してみた、ArcSegment

ArcSegmentを使って円弧、パイ形、ドーナツ型(アーチ形)を表示してみた 名前は円弧と扇形はいいと思うけど ドーナツ型なのかアーチ形なのか、また別の名前があるのかも でもがいいなあってことで関数名はDonutにした デザイン画面、MainWindow.xaml MainWind…

切り抜きClip、GeometryGroupとCombinedGeometry

最大3つのGeometryを組み合わせてClip GeometryGroupではFillRule CombinedGeometryではGeometryCombineModeをいくつか組み合わせて 四角形をClip表示してみた コントロール要素のClipプロパティにGeometryを指定すると切り抜き表示になる アプリ自身のClip…

画像の色相の状態をレーダーチャートふうに表示してみた

画像の上にあるくしゃくしゃしたのがそれ 想像していたのよりしょんぼりした感じなのができあがった 要素数は360で作成 レーダーチャート エクセルのレーダーチャート これの要素数は11 HSVのSとVをMAXにしてH(色相)を際立たせた感じにする ニセサーモグラフ…

WPF、アプリの実行ファイルに画像ファイルを埋め込んで、それを取り出して表示するまでの手順メモ

デザイン画面 画像を表示するようのImageを追加しただけ using System.Windows; using System.Windows.Media.Imaging; namespace _20190331_画像埋め込み { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); Syste…

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

おとといからの方法で市松模様を下敷きにして 半透明の色を見た目でもわかるようにした たったこれだけなんだけど思っていたよりかなり手間がかかった(3日)w 完全不透明、A=255 完全透明、A=0 半透明 61~76行目をコメントアウトして 変わりにこの部分をC#…

ListBoxのItemTemplate(DataTemplate)をC#コードで

デザイン画面 MainWindow.xaml MainWindow.xaml.cs using System.Collections.Generic; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Media; using System.Windows.Media.Imaging; //ListBoxの要…

無限の透明市松模様をWriteableBitmapとImageBrushのタイル表示で作成

ウィンドウのサイズに合わせて背景の市松模様が表示される どこまでも続く透明市松模様 デザイン画面 MainWindow.xaml GridにMyGridっていう名前をつけただけ MainWindow.xaml.cs using System.Windows; using System.Windows.Media; using System.Windows.M…

ビット演算ビットシフトメモ、画像の使用色数と色ごとのピクセル数カウント

RGB(byte)からint(long)型へ 普通の計算の場合 V = G * 256) + (B * 256 * 256) ビットシフト、ビット演算の場合 V = R | (G << 8) | (B << 16) int(long)型からRGB(byte型)へ 普通の計算の場合、%(mod)は割り算の余り 10%3=1、10割る3の余りは1 R = V % 256…

色相環画像作成、WriteableBitmapとImage.Clip

一番右のが目的の色相環 いきなりImage4の画像を作成しようとしても難しくてできなかったので Image2を作って、あとはImageクラスのClipプロパティにEllipseGeometryを指定して切り抜いて作成した 以前作ったRGBとHSVを相互変換するhsv.dllを参照に追加して…

画像の使用色数を表示するアプリその2

昨日の方法を使って棒グラフがウィンドウ幅に合わせて伸縮するようにした 選択した色の情報表示するようにした 16進数とARGB形式、総ピクセル数に占める割合 16色に減色した画像 グラフは色数が少ない画像のほうが面白い 普通の写真画像だと同じような色が並…

ListBoxで棒グラフ、MultiBindingを使ってListBox幅と要素幅を連動

ListBoxで棒グラフ…ちょっと何言ってるか分からないですね… MultiBingingを使って ListBoxの幅に合わせて要素の幅を変更している 上半分のListBoxは失敗例で 下半分が期待通りにできたListBox Bindingソース1 ListBoxのActualWidth Bindingソース2 DataConte…

画像の使用色数を表示するアプリ作ってみた

画像の使用色数と使用数が多い上位10色を表示 起動したところ ここに画像ファイルをドロップする 画像は 普通の写真画像、サイズは1024x768 これをドロップで 使用されている色数が表示される この画像は86151色だった カウント開始ボタンを押すと 使用され…

半透明画像とWPFのPixelFormats.Pbgra32は相性が良くないかも

半透明(アルファが255未満)のピクセルがある画像を、FormatConvertedBitmapを使ってPixelFormatをPixelFormats.Pbgra32に変更すると色が変わってしまう なのでPixelFormatはBgra32が良さそう 半透明の青一色のpng形式の画像 ARGB=100,30,122,224 16進数だと…

以前イベントで処理していたのをBindingにしてC#とXAMLで書いてみた

イベントで処理していたのをBindingに変更してC#とXAMLの両方で書いてみたけど どっちがいいのかよくわからん 動作自体は前のときと同じ Sliderの変更で画像の表示倍率を変更、画面より大きくなったらスクロールバーを表示 配置 Slider 拡大率指定用 ScrollV…

WPFのListBoxでいろいろ、Binding、見た目の変更、横リスト

ListBoxでのデータバインディングと見た目の変更とか 横表示は ListBox.ItemsPanel ItemsPanelTemplate StackPanel Orientation="Horizontal" リストに表示される要素の見た目の変更は ListBox.ItemTemplate DataTemplate StackPanel Border TextBlock /Stac…

WPF?画面上のどこでもマウスカーソル下の色を取得

画面上のどこでもマウスカーソル下の色を取得 クリックでもその色を取得 自身のウィンドウ内のカーソルの位置や色の取得ならWPFにも用意されているんだけど、自身のウィンドウ外、画面上のどこでもって場合にはWPFだけではできないようで、Windows APIやWind…