读取EAN-13型条形码
总代码:
*创建模板
create_bar_code_model ([], [], BarCodeHandle)
CodeType := 'EAN-13'
*
dev_close_window ()
dev_open_window (0, 0, 544, 496, 'black', WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_set_color ('green')
dev_set_draw ('margin')
dev_set_line_width (3)
*
for I := 1 to 15 by 1
*读取图片
read_image (Image, 'barcode/ean13/ean13' + (I$'.2'))
*打开适应图片的窗口
dev_resize_window_fit_image (Image, 0, 0, -1, -1)
if (I == 14)
*此图像包含可能导致错误的解码。因此,对“mean_thresh”参数进行了调整。
get_bar_code_param (BarCodeHandle, 'meas_thresh', MeasThreshold)
set_bar_code_param (BarCodeHandle, 'meas_thresh', 0.2)
endif
find_bar_code (Image, SymbolRegions, BarCodeHandle, CodeType, DecodedDataStrings)
if (I == 14)
* Reset the 'mean_thresh' parameter.
*重置“平均阈值”参数。
set_bar_code_param (BarCodeHandle, 'meas_thresh', MeasThreshold)
endif
*获得区域的行列坐标
area_center (SymbolRegions, Area, Row, Column)
dev_display (Image)
dev_display (SymbolRegions)
dev_disp_text (DecodedDataStrings, 'image', Row - 30, Column - 90, 'black', 'box_color', '#fce9d4cc')
if (I < 15)
dev_disp_text ('Press Run (F5) to continue', 'window', 'bottom', 'right', 'black', [], [])
stop ()
endif
endfor
*清除模板
clear_bar_code_model (BarCodeHandle)
逐段分析:
*创建模板
create_bar_code_model ([], [], BarCodeHandle)
CodeType := 'EAN-13'
*关闭窗口
dev_close_window ()
dev_open_window (0, 0, 544, 496, 'black', WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_set_color ('green')
dev_set_draw ('margin')
dev_set_line_width (3)
*用for循环读取图片
for I := 1 to 15 by 1
*读取图片
read_image (Image, 'barcode/ean13/ean13' + (I$'.2'))
*打开适应图片的窗口
dev_resize_window_fit_image (Image, 0, 0, -1, -1)
*第14张图片
if (I == 14)
*此图像包含可能导致错误的解码。因此,对“mean_thresh”参数进行了调整。
get_bar_code_param (BarCodeHandle, 'meas_thresh', MeasThreshold)
set_bar_code_param (BarCodeHandle, 'meas_thresh', 0.2)
endif
*寻找二维码
find_bar_code (Image, SymbolRegions, BarCodeHandle, CodeType, DecodedDataStrings)
*第14张图片
if (I == 14)
*重置“平均阈值”参数。
set_bar_code_param (BarCodeHandle, 'meas_thresh', MeasThreshold)
endif
*获得区域的行列坐标
area_center (SymbolRegions, Area, Row, Column)
dev_display (Image)
*显示区域
dev_display (SymbolRegions)
dev_disp_text (DecodedDataStrings, 'image', Row - 30, Column - 90, 'black', 'box_color', '#fce9d4cc')
if (I < 15)
dev_disp_text ('Press Run (F5) to continue', 'window', 'bottom', 'right', 'black', [], [])
stop ()
endif
endfor
*清除模板
clear_bar_code_model (BarCodeHandle)
?循环到第14张图片:
*第14张图片
if (I == 14)
*此图像包含可能导致错误的解码。因此,对“mean_thresh”参数进行了调整。
get_bar_code_param (BarCodeHandle, 'meas_thresh', MeasThreshold)
set_bar_code_param (BarCodeHandle, 'meas_thresh', 0.2)
endif
*寻找二维码
find_bar_code (Image, SymbolRegions, BarCodeHandle, CodeType, DecodedDataStrings)
*第14张图片
if (I == 14)
*重置“平均阈值”参数。
set_bar_code_param (BarCodeHandle, 'meas_thresh', MeasThreshold)
endif
?
|