目录
一维码识别算子
1.创建条形码阅读器模型
create_bar_code_model( GenParamName, GenParamValue , BarCodeHandle)
→
:可以为条形码模型调整的通用参数的名称。
默认值: []
值列表:'barcode_height_min' , 'barcode_width_min' , 'check_char' , 'composite_code' , 'element_size_max' , 'element_size_min' , 'element_size_variable' , 'meas_thresh' , 'meas_thresh_abs' , 'min_code_length' , ' min_identical_scanlines' , ' num_identical_scanlines' ' , 'orientation' , 'orientation_tol' , 'persistence' , 'quiet_zone' , 'start_stop_tolerance' , 'stop_after_result_num' ,“超时”、“火车”、“upce_encoding”
GenParamValue
(输入控制) attribute.value(-array) (实数/整数/字符串)→
:可以为条形码模型调整的通用参数的值。
默认值: []
建议值: 0, 0.1, 1, 1.5, 2, 8, 32, 45, 'present' , 'absent' , 'none' , 'CC-A/B' , 'auto' , 'high' , 'low'、“真”、“假”
BarCodeHandle
(输出控制) 条码(手柄)→
用于使用和访问条形码模型的句柄。
2.设置参数
BarCodeHandle
(input_control,状态被修改) 条码(手柄)→
条码模型的句柄。
GenParamName
(输入控制) 属性名(-array)(字符串)→
为查找和解码条形码而应调整的通用参数的名称。
默认值: 'element_size_min'
值列表:'abort'、'barcode_height_min'、'barcode_width_min'、'check_char'、'composite_code'、'contrast_min'、'element_size_max'、'element_size_min'、'element_size_variable'、'majority_voting'、'meas_thresh'、'meas_thresh_ab ' , 'merge_scanlines' , 'min_code_length' , 'min_identical_scanlines' , 'num_scanlines' , 'orientation', 'orientation_tol' , '持久性', 'quiet_zone' , 'start_stop_tolerance' , 'stop_after_result_num' , 'timeout' , 'train' , 'upce_encodation'
参数3::GenParamValue
(输入控制) attribute.value(-array) (实数/整数/字符串)→
为查找和解码条形码而调整的通用参数的值。
默认值: 8
建议值: 0, 0.1, 1, 1.5, 2, 8, 32, 45, 'true' , 'false' , 'present' , 'absent' , 'none' , 'CC-A/B' , 'auto' , '高' , '低' , 'ucc-12' , '零抑制'
3.检测和读取图像中的条形码符号
find_bar_code(Image : SymbolRegions ,BarCodeHandle, CodeType ,DecodedDataStrings)
Image
(输入对象)
→
单通道图像对象(字节/uint2 )输入图像。如果图像具有缩小的域,则条形码搜索将缩小到该域。这通常会减少操作员的运行时间。但是,如果条码未完全在域内,则无法正确解码条码。
SymbolRegions
(输出对象) 区域(-数组)→
对象成功解码的条码符号的区域。
BarCodeHandle
(input_control,状态被修改) 条码(手柄)
→
条码模型的句柄。
CodeType
(输入控制) 字符串(-数组)(字符串)→
搜索条码的类型。
默认值: “自动”
值列表:'2/5 Industrial'、'2/5 Interleaved'、'Codabar'、'Code 128'、'Code 39'、'Code 93'、'EAN-13 Add-On 2'、'EAN- 13 Add-On 5' , 'EAN-13' , 'EAN-8 Add-On 2' , 'EAN-8 Add-On 5' , 'EAN-8' , 'GS1 DataBar Expanded Stacked' , 'GS1 DataBar Expanded ' , 'GS1 DataBar Limited' , 'GS1 DataBar Omnidir' , 'GS1 DataBar Stacked Omnidir', 'GS1 DataBar Stacked' ,'GS1 DataBar 被截断'、'GS1-128'、'MSI'、'PharmaCode'、'UPC-A Add-On 2'、'UPC-A Add-On 5'、'UPC-A'、'UPC-E附加组件 2'、'UPC-E 附加组件 5'、'UPC-E'、'自动'
DecodedDataStrings
(输出控制) 字符串(-数组)(字符串)→
所有成功解码的条码的数据串。
4.获取参数
(1)获取一个或多个描述条码模型的参数
BarCodeHandle
(输入控制) 条码(手柄)→
条码模型的句柄。
GenParamName
(输入控制) 属性名(-array)(字符串)→
条码模型要查询的通用参数名称。
默认值: 'element_size_min'
值列表:'barcode_height_min'、'barcode_width_min'、'check_char'、'composite_code'、'contrast_min'、'element_size_max'、'element_size_min'、'element_size_variable'、'majority_voting'、'meas_thresh'、'meas_thresh_abs'、'merge ' , 'min_code_length' , 'min_identical_scanlines' , 'num_scanlines' , 'orientation' , 'orientation_tol' , '持久性' ,'quiet_zone','start_stop_tolerance','stop_after_result_num','timeout','train','upce_encodation'
GenParamValue
(输出控制) 属性名(-array)(实数/整数/字符串)→
通用参数的值。
(2)访问在条码符号搜索或解码过程中创建的标志性对象。
BarCodeObjects
(输出对象) 对象(-数组)→
对象
BarCodeHandle
(输入控制) 条码(手柄)→
条码模型的句柄。
CandidateHandle
(输入控制) 整数(字符串/整数)→
分别指示需要数据的条码结果候选。
默认值: “全部”
建议值: 0、1、2、“全部”
ObjectName
(输入控制) 字符串(字符串)→
要返回的标志性对象的名称。
默认值: 'candidate_regions'
值列表:'candidate_regions'、'scanlines_all'、'scanlines_all_plain'、'scanlines_merged_edges'、'scanlines_valid'、'scanlines_valid_plain'、'symbol_regions'
(3)获取在条码符号解码过程中累积的字母数字结果。
BarCodeHandle
(输入控制) 条码(手柄)→
条码模型的句柄。
CandidateHandle
(输入控制) 整数(字符串/整数)→
分别指示需要数据的条码结果候选。
默认值: “全部”
建议值: 0、1、2、“全部”
ResultName
(输入控制) 属性名(字符串)→
要返回的结果数据的名称。
默认值: 'decoded_types'
建议值:“decoded_types”、“decoded_strings”、“decoded_data”、“decoded_reference”、“element_size”、“orientation”、“composite_strings”、“composite_reference”、“aborted”、“quality_isoiec15416”、“quality_isoiec15416_labels”、“svalue_isoie” , 'quality_isoiec15416_float_grades' , 'status' , 'status_id'
BarCodeResults
(输出控制) 属性值(-array)(字符串/整数/实数)→
列出结果。
5.清除条码模型
clear_bar_code_model(BarCodeHandle)
实例代码
read_image (Image, 'E:/桌面/ccc/tt.jpg')
*图像模糊
emphasize (Image, ImageEmphasize, 7, 7, 1)
*亮、暗视
* scale_image (ImageEmphasize, ImageScaled, 1, 100)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
dev_display (ImageEmphasize)
*创建条码模型
create_bar_code_model ([], [], BarCodeHandle)
*设置参数
set_bar_code_param (BarCodeHandle, 'element_size_min', 4)
set_bar_code_param (BarCodeHandle, 'element_size_max', 32)
set_bar_code_param (BarCodeHandle, 'check_char', 'present')
set_bar_code_param (BarCodeHandle, 'persistence', 1)
set_bar_code_param (BarCodeHandle, 'num_scanlines', 10)
set_bar_code_param (BarCodeHandle, 'start_stop_tolerance', 'high')
set_bar_code_param (BarCodeHandle, 'orientation', 0)
set_bar_code_param (BarCodeHandle, 'orientation_tol', 20)
set_bar_code_param (BarCodeHandle, 'element_height_min', 100)
set_bar_code_param (BarCodeHandle, 'stop_after_result_num', 0)
*解码
* smallest_rectangle2 (ImageEmphasize, Row, Column, Phi, Length1, Length2)
* decode_bar_code_rectangle2 (ImageScaled, BarCodeHandle, ['Code 128','Code 39'], Row, Column, Phi, Length1, Length2, DecodedDataStrings)
find_bar_code (ImageEmphasize, SymbolRegions, BarCodeHandle, ['Code 128','Code 39'], BarCodeStrings)
get_bar_code_param (BarCodeHandle, 'element_size_min', GenParamValue)
get_bar_code_object (BarCodeObjects, BarCodeHandle, 'all', 'candidate_regions')
get_bar_code_result (BarCodeHandle, 'all', 'decoded_types', BarCodeResults)
get_bar_code_result (BarCodeHandle, 0, 'quality_isoiec15416', Quality)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
disp_message (WindowHandle, BarCodeResults+'码:'+BarCodeStrings, 'image', 50, 50, 'black', 'false')
*清除条码模型
clear_bar_code_model (BarCodeHandle)
stop ()
效果图