VC图像控件关联Halcon图像

本文介绍如何在VC6环境中使用Halcon进行图像处理,包括配置环境、添加控件及实现图像显示等功能。通过详细步骤说明,帮助读者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.新建VC6.0对话框工程;

2.在界面上添加picture控件,更正名称为IDC_VIEW;

3.在.h头文件中DECLARE_MESSAGE_MAP()后面添加以下代码:

public:
    Hobject m_Image; //图像
    HTuple m_hWindowHandle;//显示图形窗口句柄
    Hobject m_objDisp;//显示图形的对象

4. 在.cpp文件中OninitDialog中添加以下代码:

	//picture控件初始化==============================================================================
	CRect tmpRect;	//获取picture控件的矩形区域
	GetDlgItem(IDC_VIEW)->GetClientRect(&tmpRect);//把picture控件和halcon关联,返回显示图形的窗口句柄
	
	//picture控件初始化获取的picture控件的窗口句柄以后,要强制转换为Hlong型的数据
	open_window(0,0,tmpRect.Width(),tmpRect.Height(),(Hlong)(GetDlgItem(IDC_VIEW)->GetSafeHwnd()),"visible","",&m_hWindowhandle);
	
	set_draw(m_hWindowhandle,"margin");
	set_colored(m_hWindowhandle,12);
	set_line_width(m_hWindowhandle,2);

	//设置halcon内部处理的图像的宽度和高度
	set_system("tsp_width",3000);
	set_system("tsp_height",3000);
	//picture控件初始化结束===============================================================================


5.按F7编译成功,运行ctrl+F5,运行成功!


注意:一定要添加include头文件和lib库到目录中.


添加、打开图像功能:

1.新建一个button控件,更正名字为“读取图像”;

添加控件对应的函数代码:

	//图像宽、高
	HTuple Width,Height;
	//弹出打开图像文件的对话框
	CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"*.bmp,*.jpg,*.jpeg|*.bmp;*.jpg;*.jpeg||");
	
	//加载文件成功,则显示文件
	if (dlg.DoModal()==IDOK)
	{
		//复位显示图形变量 
		if (m_objDisp.Id()!=H_EMPTY_REGION)
		{
			m_objDisp.Reset();
		}
		//读取图像,把图像存储在m_Image中
		read_image(&m_Image,dlg.GetPathName());
		//获取图像大小
		get_image_size(m_Image,&Width,&Height);
		//显示全图
		set_part(m_hWindowhandle,0,0,Height-1,Width-1);

		//vc中要显示任何图形,一定要调用disp_obj函数来实现
		disp_obj(m_Image,m_hWindowhandle);
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值