在halcon中二维码相关的算子与一维码的在使用与结构上相似
其共有13个,如图。
当前帖子结合例程,在halcon中一步步执行可以查看每个算子的功能与效果。
一维码与二维码算子在使用上,流程与实现都比较简单。
因为其算子底层都为我们实现了很多功能,可以很方便项目快速 开发。
请执行以下程序学习算子。
halcon 二维码相关算子总结
- dev_close_window ()
- *读取图片保存到变量Image
- ImageFiles := 'datacode/qrcode/qr_workpiece_01'
- read_image (Image, ImageFiles)
- dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
- dev_display (Image)
- *创建QR Code类型的二维码句柄,用于后面的查找
- create_data_code_2d_model ('QR Code', [], [], DataCodeHandle)
- *获取二维码指定类型参数'get_result_params'的全部参数名,保存到GenParamName
- query_data_code_2d_params (DataCodeHandle, 'get_result_params', GenParamName)
- *设置要查找的二维码参数module_size_min','module_size_max(像素单位,模型最小最大尺寸)
- set_data_code_2d_param (DataCodeHandle, ['module_size_min','module_size_max'], [4,7])
- *查找与识别二维码,DecodedDataStrings保存结果字符串
- find_data_code_2d (Image, SymbolXLDs, DataCodeHandle, [], [], ResultHandles, DecodedDataStrings)
- *获取二维码指定的参数
- get_data_code_2d_param(DataCodeHandle, ['module_size_min','module_size_max'], GenParamValue)
- *获取二维码识别过程中的图像对象(解码的二维码区域)
- get_data_code_2d_objects (DataCodeObjects, DataCodeHandle, 'all_candidates', 'candidate_xld')
- *获取二维码识别过程中的文字变量(是否成功解码)
- get_data_code_2d_results (DataCodeHandle, 'all_candidates', 'status', ResultValues)
- *保存二维码句柄(包含其设置信息)
- write_data_code_2d_model(DataCodeHandle, 'data_code_model.dcm')
- *清理二维码句柄,释放资源
- clear_data_code_2d_model (DataCodeHandle)
- *从磁盘加载事先保存的二维码句柄
- read_data_code_2d_model ('data_code_model.dcm', DataCodeHandle)
- get_data_code_2d_param(DataCodeHandle, ['module_size_min','module_size_max'], GenParamValue)
- *串行化二维码句柄并保存到磁盘
- serialize_data_code_2d_model (DataCodeHandle, SerializedItemHandle)
- open_file('123.bin', 'output_binary', FileHandle)
- fwrite_serialized_item(FileHandle, SerializedItemHandle)
- clear_data_code_2d_model (DataCodeHandle)
- close_file (FileHandle)
- *从磁盘加载串行化的二维码句柄,并反串行化进行读取其参数
- open_file('123.bin', 'input_binary', FileHandle)
- fread_serialized_item (FileHandle, SerializedItemHandle)
- deserialize_data_code_2d_model (SerializedItemHandle, DataCodeHandle)
- find_data_code_2d (Image, SymbolXLDs, DataCodeHandle, [], [], ResultHandles, DecodedDataStrings)
- clear_data_code_2d_model (DataCodeHandle)
- close_file (FileHandle)
- *显示二维码每个模块的打印质量
- create_data_code_2d_model ('Data Matrix ECC 200', [], [], DataCodeHandle)
- set_data_code_2d_param (DataCodeHandle, 'default_parameters', 'enhanced_recognition')
- read_image (Image, 'datacode/ecc200/ecc200_print_quality_02')
- find_data_code_2d (Image, SymbolXLDs, DataCodeHandle, [], [], ResultHandle, DecodedDataStrings)
- dev_display(Image)
- Mode := 'reflectance_margin_module_grades'
- dev_display_data_code_2d_print_quality_results (DataCodeHandle, ResultHandle, Mode, 'isoiec15415', [], [], [])
- clear_data_code_2d_model (DataCodeHandle)
复制代码
|