
一维码识别
一维码的主要例子以及实战
BoomBiuBiu
一名在广州读研的大学生,一起学习~
展开
-
基于Halcon学习的一维码识别----常用调用算子流程
1、create_bar_code_model【创建一维码模型句柄】2、set_bar_code_param【设置参数】3、find_bar_code【寻找条形码】4、clear_bar_code_model【释放条形码阅读器分配的内存】中间结果获取:1、get_bar_code_object【获得一些候选区域】2、get_bar_code_param【获取一个或多个描述条形码模型的参数】3、get_bar_code_result【获得一些码制】...原创 2022-02-26 15:31:01 · 432 阅读 · 0 评论 -
基于Halcon学习的一维码识别【三十三】barcode_param_orientation.hdev
本例显示了条形码参数的使用:方向和全部方向总代码:*创建条形码阅读器create_bar_code_model ([], [], BarCodeHandle)* 设置参数--最小黑条或者白条的像素为1.5set_bar_code_param (BarCodeHandle, 'element_size_min', 1.5)* * Initialization*初始化dev_update_off ()dev_close_window ()*读取图片read_image (Im.原创 2022-02-26 11:52:42 · 486 阅读 · 0 评论 -
基于Halcon学习的一维码识别【三十二】barcode_param_stop_after_result_num.hdev
本例显示了条形码参数'stop_after_result_num',如果已知预期条形码的数量,则使用该参数可以缩短解码时间。总代码:*关闭窗口dev_close_window ()dev_open_window (0, 0, 640, 480, 'white', WindowHandle)set_display_font (WindowHandle, 16, 'mono', 'true', 'false')dev_update_off ()*设置边缘描绘dev_set_draw .原创 2022-02-26 10:41:44 · 639 阅读 · 0 评论 -
基于Halcon学习的一维码识别【三十一】barcode_param_width_height.hdev
此示例演示如何使用条形码参数“barcode_height_min”和“barcode_width_min”用于缩小检测到的候选区域的数量,在这些候选区域中搜索可能的条形码。如果条形码类型、编码字符数等因素在整个应用过程中保持不变,则特别建议使用此选项。然后,手动调整这些参数可以提高速度和鲁棒性。为了说明参数的效果,在设置每个参数之前和之后显示检测到的候选区域。结果表明,当手动调整参数时,潜在候选区域的数量减少。总代码:* Initializationdev_update_off ()de.原创 2022-02-26 09:41:44 · 678 阅读 · 0 评论 -
基于Halcon学习的一维码识别【三十】defect_barcode.hdev
这个示例程序显示了条形码阅读器读取缺陷条形码的能力密码。这是通过人工移除条形码中不同程度的空格来实现的。该空间只是用一个对应于周围条形的灰色值进行了叠加。总代码:dev_update_pc ('off')dev_update_window ('off')dev_update_var ('off')*读取图片read_image (Image, 'barcode/code39/code3904')get_image_size (Image, Width, Height)dev_cl.原创 2022-02-25 22:52:13 · 556 阅读 · 0 评论 -
基于Halcon学习的一维码识别【二十九】decode_bar_code_rectangle2.hdev
此示例演示如何使用运算符decode_bar_code_rectangle2.通过简单的分割提取条形码区域并将返回的矩形2参数传递给操作者decode_bar_code_rectangle2.总代码:* Initialize variables*初始化变量Directory := 'barcode/ean13/'TeaBoxRegExp := '.*tea_box.*'* * Initialize settings*初始化设置dev_update_window ('off').原创 2022-02-25 22:21:41 · 671 阅读 · 0 评论 -
基于Halcon学习的一维码识别【二十八】circular_barcode.hdev
*设置窗口的尺寸dev_set_window_extents (-1, -1, WidthPolar / 2, HeightPolar)阅读环形打印的条形码。总代码:*更新状态dev_update_off ()*获取HALCON系统参数的当前值。get_system ('clip_region', Information)*设置HALCON系统参数。set_system ('clip_region', 'true')read_image (Image, 'circular_..原创 2022-02-25 21:34:04 · 755 阅读 · 0 评论 -
基于Halcon学习的一维码识别【二十七】grid_rectification.hdev
本例说明了如何使用运算符进行网格校正。下面的命令创建一个postscript文件,它包含了修正网格。这个网格一定是印刷品。然后必须将其安装在物体表面总代码:WidthOfGrid := 0.17NumSquares := 17*生成描述校正网格的PostScript文件。create_rectification_grid (WidthOfGrid, NumSquares, 'rectification_grid.ps')* * Read the image of the obj..原创 2022-02-25 10:02:19 · 1937 阅读 · 0 评论 -
基于Halcon学习的一维码识别【二十六】inspect_scanlines.hdev
这个程序演示了条形码扫描线的可视化。这种可视化可用于检查图像质量,其中遮挡或打印缺陷可能会阻止条形码阅读器成功解码底层条形码。使用“扫描线_all”条形码阅读器可以读取的所有扫描线,最终用于解码候选条形码(此处为红色)。使用“扫描线_valid”可以可视化所有可以解码的扫描线,还有(这里用绿色表示)总代码:dev_update_off ()dev_close_window ()dev_open_window (0, 0, 512, 512, 'black', WindowHandle).原创 2022-02-24 21:10:40 · 795 阅读 · 0 评论 -
基于Halcon学习的一维码识别【二十五】msi.hdev
MSI型条形码解码示例程序总代码:*创建带有检查字符验证的条形码阅读器create_bar_code_model ('check_char', 'present', BarCodeHandle)* * * Initialization*初始化dev_close_window ()dev_open_window (0, 0, 320, 240, 'black', WindowHandle)dev_set_draw ('margin')dev_set_color ('green'.原创 2022-02-24 17:31:46 · 323 阅读 · 0 评论 -
基于Halcon学习的一维码识别【二十四】gs1databar_truncated.hdev
GS1数据库截断条形码注:GS1数据库与GS1数据库的符号相同全方位,但高度较小总代码:*创建条形码阅读器create_bar_code_model ('element_size_min', 1.5, BarCodeHandle)* * Initialization*初始化NumImages := 2dev_close_window ()*读取图片 read_image (Image, 'barcode/gs1databar_truncated/gs1databar_t.原创 2022-02-24 17:18:31 · 139 阅读 · 0 评论 -
基于Halcon学习的一维码识别【二十三】gs1databar_stacked_omnidir.hdev
GS1数据库堆叠全方位条形码符号总代码:*创建条形码阅读器create_bar_code_model ([], [], BarCodeHandle)* * Initialization*初始化dev_close_window ()dev_open_window (0, 0, 640, 512, 'black', WindowHandle)dev_set_draw ('margin')dev_set_color ('green')dev_set_line_width (3)s.原创 2022-02-24 17:01:10 · 154 阅读 · 0 评论 -
基于Halcon学习的一维码识别【二十二】gs1databar_stacked.hdev
GS1数据库堆叠条形码符号总代码:*创建条形码阅读器create_bar_code_model ([], [], BarCodeHandle)* * Initialization*初始化dev_close_window ()dev_open_window (0, 0, 640, 512, 'black', WindowHandle)dev_set_draw ('margin')dev_set_color ('green')dev_set_line_width (3)set.原创 2022-02-24 16:46:55 · 496 阅读 · 0 评论 -
基于Halcon学习的一维码识别【二十一】gs1databar_omnidir.hdev
GS1数据库全方位条形码符号总代码:*创建条形码阅读器*设置条形码的最小宽度像素为1.5create_bar_code_model ('element_size_min', 1.5, BarCodeHandle)*初始化dev_close_window ()dev_open_window (0, 0, 360, 256, 'black', WindowHandle)dev_set_draw ('margin')dev_set_color ('green')dev_set_li.原创 2022-02-24 16:28:47 · 716 阅读 · 0 评论 -
基于Halcon学习的一维码识别【二十】gs1databar_limited.hdev
GS1数据库条形码符号总代码:*创建条形码阅读器create_bar_code_model ('element_size_min', 1.5, BarCodeHandle)* * Initialization*初始化NumImages := 2dev_close_window ()dev_open_window (0, 0, 360, 256, 'black', WindowHandle)set_display_font (WindowHandle, 16, 'mono', '.原创 2022-02-24 16:14:07 · 743 阅读 · 0 评论 -
基于Halcon学习的一维码识别【十九】gs1databar_expanded_stacked.hdev
GS1数据库扩展堆叠条形码符号总代码:*创建条形码阅读器create_bar_code_model (['element_size_max','element_size_min'], [16,1.5], BarCodeHandle)* * Initialization*初始化dev_close_window ()dev_open_window (0, 0, 512, 512, 'black', WindowHandle)dev_set_draw ('margin')dev_se.原创 2022-02-24 16:04:27 · 631 阅读 · 0 评论 -
基于Halcon学习的一维码识别【十八】gs1databar_expanded.hdev
GS1扩展条形码符号总代码:*创建条形码阅读器create_bar_code_model ('element_size_min', 1.5, BarCodeHandle)* * Initialization*初始化NumImages := 2dev_close_window ()*读取图片read_image (Image, 'barcode/gs1databar_expanded/gs1databar_expanded_01')*打开自适应图片的窗口dev_open_.原创 2022-02-23 23:56:17 · 199 阅读 · 0 评论 -
基于Halcon学习的一维码识别【十七】gs1databar_composite.hdev
这个程序演示了GS1数据库条形码的复合元件解码总代码:*关闭窗口dev_close_window ()dev_open_window (0, 0, 512, 512, 'black', WindowHandle)set_display_font (WindowHandle, 14, 'mono', 'true', 'false')* ScaleWindow := 1.0* dev_set_draw ('margin')dev_set_color ('green')dev_se.原创 2022-02-23 21:42:30 · 537 阅读 · 0 评论 -
基于Halcon学习的一维码识别【十六】gs1_128.hdev
GS1-128条形码符号;GS1-128条形码的符号结构与代码128符号相同;这种条形码类型仅强制执行数据格式化的附加规则:数据组织在所谓的GS1应用程序元素中*符合GS1通用规范(www.GS1.org)的字符串;在该程序中,GS1-128条形码被解码为128码和GS1-128码,并对解码结果进行比较。虽然符号仍然可以解码为代码128,但生成的字符串缺少数据的语义结构。相比之下,将符号解码为GS1-128将产生有效的GS1数据,并有效地分离应用元素strin总代码:* Constant.原创 2022-02-23 20:16:22 · 687 阅读 · 0 评论 -
基于Halcon学习的一维码识别【十五】ean8.hdev
读取EAN-8型条形码总代码:* 读取EAN-8型条形码*创建模板create_bar_code_model ([], [], BarCodeHandle)dev_close_window ()*读取图片read_image (Image, 'barcode/ean8/ean801')*打开自适应图像的窗口dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)set_display_font (Wind..原创 2022-02-23 19:04:59 · 180 阅读 · 0 评论 -
基于Halcon学习的一维码识别【十四】ean13addon.hdev
读取EAN-13 Add-On 5型条形码总代码:*读取EAN-13 Add-On 5型条形码create_bar_code_model ([], [], BarCodeHandle)dev_close_window ()dev_open_window (0, 0, 120, 300, 'black', WindowHandle)set_display_font (WindowHandle, 16, 'mono', 'true', 'false')dev_set_color ('gr.原创 2022-02-23 18:55:40 · 263 阅读 · 0 评论 -
基于Halcon学习的一维码识别【十三】ean13.hdev
读取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 ('gree.原创 2022-02-23 16:35:06 · 854 阅读 · 0 评论 -
基于Halcon学习的一维码识别【十二】code39.hdev
读取类型代码39的条形码总代码:create_bar_code_model ([], [], BarCodeHandle)dev_close_window ()dev_open_window (0, 0, 120, 300, 'black', WindowHandle)dev_set_draw ('margin')dev_set_line_width (3)Colors := ['forest green','magenta']set_display_font (WindowHan.原创 2022-02-23 15:21:41 · 502 阅读 · 0 评论 -
基于Halcon学习的一维码识别【十一】code32.hdev
这个示例程序演示了如何读取使用HALCON条形码阅读器键入代码32,以读取代码39结合本程序,将_代码39_转换为_代码32。1. 步骤:用HALCON查找并解码条形码“代码39”类型的条形码阅读器;2. 步骤:将解码条形码从“代码39”类型转换为使用将_代码39_转换为_代码32的过程。总代码:*初始化图像和视觉设置dev_close_window ()dev_update_off ()read_image (Image, 'barcode/code32/code32_01.png'.原创 2022-02-23 11:52:06 · 526 阅读 · 0 评论 -
基于Halcon学习的一维码识别【一】25industrial.hdev
读取2/5型工业条码总代码:*创建一个条形码阅读器的模型。*第一个参数为通用参数名字,第二个参数为通用参数的值,第三个为模型的句柄create_bar_code_model ([], [], BarCodeHandle)*我们希望对每张图像解码一个条形码*设置条形码模型的选定参数,stop_after_result_num--设置要解码的条码条数set_bar_code_param (BarCodeHandle, 'stop_after_result_num', 1)*有些代.原创 2022-02-21 00:12:01 · 717 阅读 · 0 评论 -
基于Halcon学习的一维码识别【二】barcode.autodiscrimiantion.hdev
使用HALCON条形码阅读器自动识别功能的示例程序。总代码:*创建一个条形码阅读器的模型。*第一个参数为通用参数名字,第二个参数为通用参数的值,第三个为模型的句柄create_bar_code_model ([], [], BarCodeHandle)*设置条码读取器参数,是否验证空白区域是否干净set_bar_code_param (BarCodeHandle, 'quiet_zone', 'true')* * Initialization*设置一些参数dev_update..原创 2022-02-21 11:04:23 · 873 阅读 · 2 评论 -
基于Halcon学习的一维码识别【三】barcode.orientation.hdev
识别条形码每次旋转后的图片,并得到识别的结果总代码:*读取图片read_image (Image, 'barcode/ean13/ean1305')*获取一些图片的信息以及设置显示信息get_image_size (Image, Width, Height)dev_close_window ()dev_open_window (0, 0, Width, Height, 'black', WindowHandle)dev_display (Image)dev_set_color ..原创 2022-02-21 16:35:06 · 833 阅读 · 0 评论 -
基于Halcon学习的一维码识别【四】barcode.param_contrast.hdev
使用条形码参数'contrast_min'的示例程序;在图像中存在低对比度条形结构的情况下,该参数可用于减少find_bar_code的运行时间;此外,如果预期的条形码具有高对比度,contrast_min'也可用于减少误报的数量。总代码:*创建一个条形码阅读器的模型。create_bar_code_model ([], [], BarCodeHandle)*'element_size_min'条码最小尺寸(宽度和间距)指 黑条或者白条的最小尺寸像素是1.5像素set_bar_cod.原创 2022-02-21 21:58:06 · 991 阅读 · 0 评论 -
基于Halcon学习的一维码识别【五】barcode.param_element_size_variable.hdev
此示例演示如何使用条形码参数,如果存在表面变形,'element_size_variable';为了说明参数的影响,两个解码结果对比显示。结果表明,在圆柱形表面变形,将条形码参数设置为“真”将导致成功解码总代码:* Initializationdev_update_off ()dev_close_window ()* * Create two bar code model with different element_size_variable values*创建两个具有不同元素大.原创 2022-02-21 22:54:56 · 639 阅读 · 0 评论 -
基于Halcon学习的一维码识别【六】barcode.param_majority_voting.hdev
该示例程序显示了条形码参数'majority_voting'的效果。条形码阅读器分析多条扫描线,并尝试对其进行解码。默认情况下,一旦一条扫描线被成功解码,该过程就会终止。在某些情况下,由于本地打印错误,由此扫描线得出的结果可能是错误的。如果参数'majority_voting'设置为“真”,则分析所有扫描线。最终的读取结果由所有成功解码结果的多数投票决定。总代码:* Prepare visualization settings and objectsdev_update_off ()de..原创 2022-02-22 16:39:09 · 820 阅读 · 0 评论 -
基于Halcon学习的一维码识别【七】barcode.param_meas_param_estimation.hdev
该程序演示了参数“meas_param_estimation”的使用。参数“meas_param_estimation”对于增加元素尺寸非常小的条形码的读取性能(1-1.5像素)以及其他图像瑕疵,例如模糊和噪音。在下面的示例中,显示了一系列这样的条形码图像阅读参数的两个设置的结 果比较了“meas_param总代码:*更新状态设置成offdev_update_off ()dev_close_window ()*读取图片read_image (Image, 'barcode/ean13/.原创 2022-02-22 21:33:16 · 683 阅读 · 0 评论 -
基于Halcon学习的一维码识别【八】barcode.param_meas_thresh_abs.hdev
使用条形码参数'meas_thresh_abs'的示例程序;该参数可用于在查找我们希望具有高对比度的条形码符号区域时减少误报的数量。为了人工证明这一点,我们试图找到条形码类型的药典,它没有检查字符,因此在噪声中很容易识别。作为“噪音”,我们使用完全不包含任何条形码的图像。通过使用值大于0.0的“meas_thresh_abs”,我们强制条形码阅读器仅使用绝对对比度至少为该值的扫描线部分,从而减少误报的数量。总代码:* Create bar code reader modelcreate_ba.原创 2022-02-22 23:38:12 · 767 阅读 · 0 评论 -
基于Halcon学习的一维码识别【九】codabar.hdev
读取Codabar类型的条形码总代码:*创建模板create_bar_code_model ([], [], BarCodeHandle)* We expect to decode a single bar code per image*我们希望对每张图像解码一个条形码set_bar_code_param (BarCodeHandle, 'stop_after_result_num', 1)*关闭窗口dev_close_window ()dev_open_window (0, 0.原创 2022-02-23 08:35:26 · 612 阅读 · 0 评论 -
基于Halcon学习的一维码识别【十】code128.hdev
读取类型代码为128的条形码总代码:*创建模型create_bar_code_model ([], [], BarCodeHandle)dev_close_window ()dev_open_window (0, 0, 600, 600, 'black', WindowHandle)set_display_font (WindowHandle, 16, 'mono', 'true', 'false')dev_set_draw ('margin')dev_set_color ('gr.原创 2022-02-23 11:20:58 · 777 阅读 · 0 评论