之前我们讲了一个系列的halcon条形码识别的方法以及如何提升识别效率,很多朋友比较喜欢,并且按照相应的方法写出自己的程序样例。二维码和一维码(即条形码)是我们目前国内使用量较多的图像,不管是日常还是工业生产当中都会有很多大量的应用,有朋友再问需要识别二维码可以实现吗,那么我们本期就讲一下halcon二维码识别技术。
halcon官方样例图片
首先看下二维码识别相关算子:
//创建二维码识别模型
//codeType:二维码编码格式
//genParamName:模型参数名称,这边模型参数可以首先默认为空,后续通过SetDataCode2dParam算子进行设置
//gemParamValue:模型参数值
//dataCodeHandle:返回的二维码的模型句柄
HOperatorSet.CreateDataCode2dModel(codeType, genParamName, genParamValue, out dataCodeHandle);
//设置二维码识别模型参数,有助于提升目标二维码识别效率,类似条形码参数
HOperatorSet.SetDataCode2dParam(dataCodeHandle, genParamName, genParamValue);
//识别二维码,decodedDataStrings即为识别二维码数据字符串数组,symbl为识别二维码的区域,可以在图像中标注识别图像的区域范围
HOperatorSet.FindDataCode2d(ho_Image, out symbl, dataCodeHandle, genParamName, genParamValue, out resultHandles, out decodedDataStrings);
从二维码识别技术相关算子来看,总体逻辑类似条形码识别技术。如果单独识别较清晰的图片,读取图片可直接使用上述算子识别即可;如果使用实时图像的话,摄像头采集到的图像需要经过相应的处理,然后进行上述算子识别亦可达到相应的识别效果(图像处理请参照小编往期文章)。
好了朋友们,本期就分享到这里,我们下期继续!谢谢!
#程序员那些事##机器视觉##二维码识别##机器学习、计算机视觉、自然语言处理、数据挖掘、脑启发的人工智能、人工智能交叉应用#