MFC调用halcon

下面是代码:

closeFramegrabber  这个算子报错:堆已经损坏

UINT CCheckcodeDlg::ContinueGrabThread(LPVOID p)
{
	CCheckcodeDlg *pThis = (CCheckcodeDlg*)p;
	HTuple hv_Information, hv_name;
	CString str;
	pThis->GetDlgItem(IDC_GET_OBJ_COMBO)->GetWindowTextW(str);
	hv_name = (LPSTR)str.GetBuffer();
	OpenFramegrabber("DirectShow", 1, 1, 0, 0, 0, 0, "default", 8, "rgb", -1, "false",
		"default", hv_name, 0, -1, &pThis->hv_AcqHandle);
	//采图
	pThis->GetDlgItem(IDC_OPEN_DOWN_CAMERA_BUTTON)->EnableWindow(false);
	pThis->GetDlgItem(IDC_CLOSE_DOWN_CAMERA_BUTTON)->EnableWindow(true);
	GrabImage(&pThis->ho_Image, pThis->hv_AcqHandle);
	//显示
	GetImageSize(pThis->ho_Image, &pThis->hW, &pThis->hH);   //获取图片大小
	SetPart(pThis->hWndID, 0, 0, pThis->hH, pThis->hW);      //设置显示的范围
	GrabImageStart(pThis->hv_AcqHandle, -1);
	while (WaitForSingleObject(exitGrabThread.m_hObject, 2) != WAIT_OBJECT_0) // 没有信号执行采图循环
	{
		GrabImage(&pThis->ho_Image, pThis->hv_AcqHandle);
		DispObj(pThis->ho_Image, pThis->hWndID);
	}
	CloseFramegrabber(pThis->hv_AcqHandle);
	return 0;
}

while的退出条件是 exitGrabThread.SetEvent();

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值