この記事について
普段、C#で画像処理ライブラリHALCONを使っていますが、久々に新しいC#プロジェクトからアプリを作ることになったので、まっさらのC#プロジェクトからHALCONを使えるようにするまでの手順を残しておきます。
使用している環境は
- Windows 10 Pro 64bit
- VisualStudio 2015
- HALCON 11.0
です
1.VisualStudioで新規プロジェクトを作る
まっさらのC#のプロジェクトを作るところから始めます。
VisualStudioを開いて、「新しいプロジェクト」をクリックします。
下図のウィンドウが出てくるので、Visual C#のWindowsフォームアプリケーションを選択し、保存したいフォルダを選択し、プロジェクト名を設定してOKをクリックします。
2. x64プラットフォームの追加
まっさらのプロジェクトではプラットフォームのところがAnyCPUになっています。
ここをx64にしないと次の.NET Frameworkコンポーネントの追加でエラーが出るので、先に設定します。
まずAnyCPUのプルダウンメニューから「構成マネージャー」を選択します。
次に出てきたウィンドウの「プラットフォーム」→「新規作成」とクリックします。
次に出てきたウィンドウからx64を選択してOKをクリックします。
x64を選択します。
3. HALCONの.NET Frameworkコンポーネントを追加する
画面の左のツールボックスの適当なコントロールを右クリックして「アイテムの選択」をクリックします。
そうすると、下図のようなウィンドウが出てくるので、「参照」をクリックします。
そこで下図のフォルダにあるhalcondotnet.dllを選択します。
2019/4/18 追記
HALCONでは画像サイズが32k*32kを縦横いずれかが超える大きな画像を扱おうとするとエラーが出ます。
そのような大きな画像を扱いたい場合はHALCON XLというライブラリがあり、ファイル名の末尾にxlのついた、halcondotnetxl.dllをここで選択することで使用できます。
.NET FrameworkコンポーネントのタブにHWindowControlが追加されます。
4. HWindowControlをフォーム上に貼り付ける
これでツールボックスの中にHWindowControlが追加されているので、これをクリックしてフォーム上にHWindowControlを追加することができます。
HWindowControlを1つフォーム上に追加します。
5. 必要なコードを記述する
Halconを使うために名前空間HalconDotNetを追加します。
以上でHALCONが使えるようになりました。
試しに4.でフォーム上に追加したHWindowControlに画像を表示するコードを書いてみます。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// HWindowの名前を付ける
HTuple hWin1;
hWin1 = hWindowControl1.HalconID;
// 画像を読み込む
HObject img;
Op.ReadImage(out img, @"C:\temp.jpg");
// HWindowに画像を表示する
Op.DispImage(img, hWin1);
}
}
これを実行すると
となります。