C#

C#

【C#】MDIフォームにリサイズ可能なPanelを設置する

普通のFormに実行中に幅や高さを変えられるパネルを設置する場合は、SplitContainerを配置すればOKですが、MDIフォーム↓に SplitContainerを配置すると、 のようになり、MDIフォームの子フォームの配置する領域(...
ImageData Class

【ImageDataクラス】画像の輝度値のCSVファイル保存

画像処理をしていると、画像の輝度値をCSVファイルに保存したいという要望はよくあります。 C#で画像の輝度値にアクセスしやすいようにしたImageDataクラスを作成しました。 (Pythonで画像の輝度値をCSVファイルに保存したい場合は...
ImageData Class

【ImageDataクラス】Regionプロパティ

画像処理プログラムでは、画像の一部分のみを処理するROI(Region of Interest)という機能がよくあります。 このROIを使うことで、必要な部分のみを処理したり、異なる2つの画像において、同じ領域を処理するために、このROIを...
ImageData Class

【ImageDataクラス】画像の輝度値(画素値)の取得/設定

BorderTypeプロパティ、InterpolationModeプロパティのページでも少し紹介していますが、画像の輝度値を取得/設定するには var img = new ImagingSolution.Imaging.ImageData(...
ImageData Class

【ImageDataクラス】InterpolationModeプロパティ

BorderTypeプロパティではインデクサをつかって var img = new ImagingSolution.Imaging.ImageData("image.bmp"); var bright = img; のように配列の添え字に相...
ImageData Class

【ImageDataクラス】BorderTypeプロパティ

ImageDataクラスでは、C#のインデクサという機能を使って、new したImageDataクラスをオブジェクトをあたかも配列かのように扱うことができます。 インデクサの例 var img = new ImagingSolution.I...
ImageData Class

【ImageDataクラス】サンプルプログラム

ImageDataクラスライブラリ公開のページにて公開しているサンプルプログラムについて簡単に説明しておきます。 このサンプルプログラムの開発環境は Visual Studio 2015 C# .NET Framework 4.5.2 とな...
ImageData Class

ImageDataクラスライブラリの使用方法

ImageDataクラスライブラリは、知っている人向けにはライブラリ(サンプルプログラム)のダウンロードページよりファイルをダウンロードし、zipファイルを解凍したImageDataSampleフォルダ内にあるImagingSolution...
C#

【C#】ImageDataクラスライブラリ公開

画像処理プログラムの基本は画像の輝度値(画素値)を取得して、様々な処理をすることとなりますが、C#では輝度値を取得するメソッドにSetPixel/GetPixelのメソッドが用意されていますが、これは処理が遅いことで有名。 そこで、Open...
ImageData Class

ImageDataクラスライブラリ

画像データの取得/設定をできるだけ簡単にできることを目指したImageDataクラスライブラリに関する情報です。 ImageDataクラスライブラリを公開(ダウンロードページ) ImageDataクラスライブラリの使用方法 サンプルプログラ...
C#

【C#】Chartを使ったヒストグラム表示

Chartコントロールを使いたかった理由の一つに画像処理ではおなじみのヒストグラムをChartコントロールで表示したかったのですが、その簡単なプログラムです。 フォームにはChartコントロールを配置し、Chartの名前がchart1とした...
C#

【C#】Chartコントロールをとりあえず使ってみる

Chartコントロールは、本当に多くのプロパティがあるため、一つ一つを調べてからプログラムをするよりも、まずはVisual Studioのフォームエディタ上でいろいろ触ってみてから、プロパティの意味するところを覚えて、プログラムを組むように...
C#

【C#】Chartコントロールの主なプロパティ

Chartコントロールを使うにはSeriesプロパティが最も重要になりますが、次にLegends,ChartAreas,Titlesの3つ、Annotationsは、ほとんど使わないと思います。 ●Seriesプロパティ グラフのデータやグ...
C#

【C#】SplitContainerの境界線に描画する

SplitContainerの境界線をクリックすると片側のPanelを閉じるなどのGUIで、境界線の部分に三角形などを書きたい場合があります。 こんな感じ↓ その場合、どうするのか? Splitterのオブジェクトを探してみても存在しないの...
C#

【C#】グローバル変換を使ったアフィン変換

.NETで画像や線などを描画する時はGraphicsオブジェクトに対して描画を行いますが、このGraphicsオブジェクトの座標系をアフィン変換する処理をグローバル変換と言います。 グローバル変換された Graphicsオブジェクトに対し描...
C#

64bit対応ユーザーコントロール作成方法

64bitに対応したユーザーコントロール(カスタムコントロール)を作成するには、前提条件として Visual Studio はOSが64bitであっても32bitで動作している! という点に注意しないといけません。 つまり、プラットフォーム...