C#與Halcon聯合編程(1)顯示圖像


C#Halcon聯合編程第一步就是調用Halcon圖像處理數據庫,是否調用成功,通常是利用Halcon的圖像顯示控件能否正確顯示圖像進行判斷。下面就簡單介紹一下如何利用C#調用Halcon圖像顯示控件來顯示圖像。

1.創建C#項目,創建一個Windows窗體應用程序。

 

 

 

 

 

2.在項目中引用HalconDLL文件。鼠標右鍵單擊“引用”–“添加引用”,如下圖:

 

 

 

 

在彈出的引用管理器中點擊下方的“瀏覽”按鈕。選擇Halcon安裝目錄下的halcondotnet.dll文件,點擊添加–確定。本文以halcon12為例子,如下圖:

 

 

 

 

引用成功后halcondotnet會出現在引用項目里。

 

 

 

 

3.添加halcon圖像顯示控件。在Visual Studio左側點擊“工具箱”,在空白區域點擊鼠標右鍵,選擇“選擇項”。在".NET Framework組件“這一頁中點擊”瀏覽“按鈕,同樣添加剛剛引用的那個halcondotnet.dll文件。

 

 

 

 

添加成功后,在常規一類中會出現HWindowControl這個控件。如下圖。

 

 

 

 

將該控件添加到界面上。如下圖:

 

 

 

 

查看添加的這個HWindowControl控件的屬性可以看到控件的名稱為hWindowControl1,這個名稱在程序中會用到。如下圖:

 

 

 

 

4.在程序中進行圖像的顯示。添加的語句都有注釋。

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using HalconDotNet;//添加這一句

 

namespace HalconWindows

{

    public partial class Form1 : Form

    {

        HWindow win = null;//定義一個Halcon窗口對象

        HImage image = null;//定義一個Halcon圖像變量

        public Form1()

        {

            //win = hWindowControl1.HalconWindow;這句放在InitializeComponent()函數前執行會報錯

            InitializeComponent();

            

            win = hWindowControl1.HalconWindow;//Halcon窗口對象與控件進行關聯

            image = new HImage();//實例化圖像變量

            image.ReadImage(@"e:\rmb.png");//讀取圖像

            int width = 0, height = 0;//創建變量用於接收圖像尺寸

            image.GetImageSize(out width, out height);//獲取圖像尺寸

            win.SetPart(0, 0, height - 1, width - 1);//設置Halcon控件中圖像的顯示尺寸

            win.DispObj(image);//顯示圖像

        }

    }

}

 

此外,在引用dll文件后,可能在運行的時候會報錯,可以嘗試修改一下項目的框架版本。具體位置:鼠標右鍵單擊項目文件—屬性—應用程序----目標框架

————————————————

版權聲明:本文為CSDN博主「大__桃」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/biggestcherry/article/details/89547047


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM