#region 二维码
HTuple hv_DataCodeHandle, hv_ResultHandles;
// Initialize local and output iconic variables
HOperatorSet.GenEmptyObj(out hv_Xld);
//功能:创建二维码模板
//初学者创建模板时建议选择使用默认参数集(参数集,是多个参数构成的集合):'default_parameters'
//default_parameters有3种识别模式(识别模式越强,适应场合越广,适应能力和识别能力越强,但耗时越多):
//standard_recognition 标准模式
//enhanced_recognition 加强模式
//maximum_recognition 最强模式
//建议初学者选用 'maximum_recognition'
//参数一:输入你要读取的二维码的码制
//参数二:通用参数可以调整为二维码数据模型的名称。
//参数三:通用参数可以调整为二维码数据模型的价值。
//参数四:返回二维码模板句柄
HOperatorSet.CreateDataCode2dModel(cbbCodingFormat.Text, "default_parameters", cbbRecognitionMode.Text,
out hv_DataCodeHandle);
//功能:使用模板查找二维码
//参数一:输入的图像
//参数二:XLD轮廓包围成功解码后的数据代码符号。 就是如果找到二维码所在的区域 ,
//就将那个区域的XLD返回,注意可能输组
//参数三:所使用的模板句柄
//参数四:查找模式。 ?默认是空的 就是说直接找,找不到拉倒。 如果是train,就是一面找一面调整模板参数。
//参数五:可选的泛型参数的值。
//参数六:所有成功解码二维码数据符号的句柄。为啥是句柄呢? ?如果解码的数据可能很多了。
//参数七:返回图像中的所有检测到的二维码的数据符号的译码数据串。
HOperatorSet.FindDataCode2d(hv_ImageReduced, out hv_Xld, hv_DataCodeHandle, cbbSearchMode.Text,
"all", out hv_ResultHandles, out hv_BarCode);
//销毁二维码模板
HOperatorSet.ClearDataCode2dModel(hv_DataCodeHandle);
//HDevelopExport.ReadQRCode(hv_ImageReduced, out hv_Xld, cbbCodingFormat.Text, cbbRecognitionMode.Text, cbbSearchMode.Text, out hv_BarCode);
LBVisionWindow.Instance.Vision.hWndCtrl.HalconWindow.DispXld(new HXLD(hv_Xld));
#endregion
|