コンピュータ

WPFヘルパー:ClipboardImageHelper.cs – BitmapSourceをクリップボードへコピーするヘルパー

PNG形式でアルファチャンネルを保持した状態でクリップボードへコピーします。ClipboardImageHelper.csusing System.IO;using System.Windows;using System.Windows.M...
コンピュータ

WPFのComboBoxにenumをバインドするサンプルコード

enum型をComboBoxにバインドすることが出来るそうなので試してみました。ColorMode.csnamespace WpfEnumCombobox;public enum ColorMode{ Red, Green, Blue}Ma...
コンピュータ

WPFヘルパー: NumericInput.cs – TextBoxを数値入力用にするAttached Property を提供するクラス

NumericInput.csusing System.Windows;using System.Windows.Controls;using System.Windows.Input;namespace Maywork.WPF.Helpe...
スポンサーリンク
コンピュータ

C#でWPF学習中「ReactiveCommandを使った”複数”条件が成立した場合のみ押せるボタン」

複数のチェックボックスのON/OFFの組み合わせで、ボタンの有効無効が切り替わるデモプログラムです。MainWindowViewModel.csusing System.ComponentModel;using System.Reactiv...
コンピュータ

OpenCVの画像フィルターを並べて実行するWPFアプリを作る「ガンマ補正」

ガンマ補正は、ディスプレイの特性や人間の視覚に合わせて、画像の明るさを調整する処理です。GammaCorrectionFilter.csusing OpenCvSharp;using Reactive.Bindings;using Reac...
コンピュータ

OpenCVの画像フィルターを並べて実行するWPFアプリを作る「ノンローカルミーンフィルタ」

ノンローカルミーン(Non-Local Means)フィルタは、画像内のノイズを除去する手法の一つで画像全体の広い範囲から似たようなパターン(テクスチャ)を探し、それらを平均化してノイズを消します。エッジや細かい模様を「画像内の別の場所にあ...
コンピュータ

OpenCVの画像フィルターを並べて実行するWPFアプリを作る「高さ指定リサイズ」

拡大の場合Cubic、縮小の場合AreaResizeByHeightFilter.csusing OpenCvSharp;using Reactive.Bindings;using Reactive.Bindings.Extensions;...
コンピュータ

スクリーントーンを除去しグレースケール化する方法を考える

高解像度でスキャンした画像の場合、スクリーントーンの点描が、円などの図形としてはっきり認識できることがあります。スクリーントーンは、点の大きさや点同士の間隔によって明暗の階調を表現しています。このような画像を、通常のグレースケール画像として...
コンピュータ

Windowsが重いときはクリーンインストールの前にユーザーアカウントを作り直す

長期間使っていて動作が重くなってきているPCは、OSをクリーンインストールするとレスポンスが改善する場合があります。また、様々な不具合が解消されることもあるため、定期的に実施したいところですが、アクティベーションを含むセットアップ作業が大変...
コンピュータ

OpenCVの画像フィルターを並べて実行するWPFアプリを作る「カラーノイズ除去」

画像をスキャナで取り込む際、本来はモノクロの原稿であっても、カラースキャンすると赤や青などの色付きノイズが発生することがあります。モノクロ原稿の場合、理想的には RGBの値はほぼ同じ(R=G=B) になるはずですが、スキャナの特性や紙質、イ...
コンピュータ

OpenCVの画像フィルターを並べて実行するWPFアプリを作る (処理手順の保存・再現付き)

画像ファイルを OpenCVのフィルター機能で加工する場合、通常は複数のフィルターを順番に実行することになります。例えば、グレースケール化ノイズ除去ぼかし処理2値化リサイズといった処理を組み合わせて画像を加工します。また、画像の内容によって...
コンピュータ

WPFヘルパー:DisposeDataContextBehavior.cs – Windowのクローズ時DataContextをDispose()する

DisposeDataContextBehavior.csusing System;using System.Windows;namespace Maywork.WPF.Helpers;public static class Dispose...
コンピュータ

C# JSONで派生クラスのコレクションをシリアライズ・デシリアライズする方法(リフレクションで自動生成)

JSON形式でシリアライズするということは、オブジェクトを文字列として表現することを意味します。文字列化できるということは、その内容をテキストファイルとして保存することで、データを永続化することができます。また、保存された文字列をデシリアラ...
コンピュータ

C# Reflectionで派生クラスを自動登録する(Plugin型アーキテクチャ)

クラスを定義するだけで勝手に使われるPluginのような振る舞いのサンプルコードを作成しました。abstract class BaseClass(){ abstract public void Apply();}class DerivedC...