HALCON学习之条形码实时扫描

 1 dev_open_window(1,1,400,400,‘blue‘,ThisHandle)
 2 create_bar_code_model([], [], BarCodeHandle)
 3 set_bar_code_param(BarCodeHandle,‘element_size_max‘,8)
 4 set_bar_code_param(BarCodeHandle,‘check_char‘,‘present‘)
 5 set_bar_code_param(BarCodeHandle,‘persistence‘,1)
 6 set_bar_code_param(BarCodeHandle,‘composite_code‘,‘none‘)
 7 set_bar_code_param(BarCodeHandle,‘meas_thresh‘,0.1)
 8 set_bar_code_param(BarCodeHandle,‘num_scanlines‘,10)
 9 set_bar_code_param(BarCodeHandle,‘min_identical_scanlines‘,2)
10 set_bar_code_param(BarCodeHandle,‘max_diff_orient‘,10)
11 set_bar_code_param(BarCodeHandle,‘element_height_min‘,8)
12 set_bar_code_param(BarCodeHandle,‘stop_after_result_num‘,1)
13 *read_image(img,‘C:/Users/IBM_ADMIN/Desktop/Halcon/2.jpg‘)
14 *get_image_size (img, Width, Height)
15 *dev_set_window_extents (0, 0, Width-1, Height-1)
16 *find_bar_code(img,SymbolRegions,BarCodeHandle,‘auto‘,DecodedataStrings)
17 *get_bar_code_result(BarCodeHandle,‘all‘,‘decoded_types‘,DecodedDataTypes)
18 *dev_close_window()
19 * open computer camera
20 open_framegrabber (‘DirectShow‘, 1, 1, 0, 0, 0, 0, ‘default‘, -1, ‘gray‘, -1, ‘default‘, ‘default‘, ‘0‘, -1, -1, AcqHandle1)
21 * open another USB camera
22 *open_framegrabber (‘DirectShow‘, 1, 1, 0, 0, 0, 0, ‘default‘, -1, ‘gray‘, -1, ‘default‘, ‘default‘, ‘1‘, -1, -1, AcqHandle1)
23 condition := true
24 set_window_param(ThisHandle,‘background_color‘,‘gray‘)
25 *grab_image_start(AcqHandle1,-1000)
26 while(condition)
27     *grab_image_async(BarImage,AcqHandle1, -1000)
28     grab_image (BarImage, AcqHandle1)
29     find_bar_code(BarImage,SymbolRegions,BarCodeHandle,‘auto‘,scannString)
30     if(|scannString| >= 1)
31         dev_display(BarImage)
32         disp_message(ThisHandle,scannString,‘window‘,12,12,‘blue‘,‘false‘)
33         disp_continue_message(ThisHandle,‘black‘,‘true‘)
34         stop()
35         condition := false
36     endif
37 endwhile
38 clear_all_bar_code_models()
39 close_all_framegrabbers()
40 dev_close_window()
时间: 2024-10-18 14:03:06

HALCON学习之条形码实时扫描的相关文章

Halcon学习笔记——条形码的定位与识别

一维码的原理与结构 条码基本原理是利用条纹和间隔或宽窄条纹(间隔)构成二进制的"0"和"1",反映的是某种信息. 一维条码数据结构,分四个区域.组成分别为静区.起始/终止符.校验符.数据符. 一维条码的意识形态结构,分三条. 构成一维码的基本单元是模块,模块是指条码中最窄的条或空: 构成条码的条或空称为一个单元,一个单元包含多个或单个模块: 一个单元包含的模块数量由编码方式决定,即形成了不同的码制. 一维码的定位与识别 基本halcon工具算子,create_bar

IOS7使用原生API进行二维码和条形码的扫描

使用IOS7原生API进行二维码条形码的扫描 IOS7之前,开发者进行扫码编程时,一般会借助第三方库.常用的是ZBarSDK,IOS7之后,系统的AVMetadataObject类中,为我们提供了解析二维码的接口.经过测试,使用原生API扫描和处理的效率非常高,远远高于第三方库. 一.使用方法示例 官方提供的接口非常简单,代码如下: @interface ViewController ()<AVCaptureMetadataOutputObjectsDelegate>//用于处理采集信息的代理

Halcon学习之二:摄像头获取图像和相关参数

1.close_all_framegrabbers ( : : : ) 关闭所有图像采集设备. 2.close_framegrabber ( : : AcqHandle : ) 关闭Handle为AcqHandle的图像采集设备. 3.open_framegrabber ( : : Name, HorizontalResolution, VerticalResolution, ImageWidth, ImageHeight, StartRow, StartColumn, Field, BitsP

Halcon学习(八)文本操作

标签: 学习 杂谈 分类: halcon学习 1.open_file( : : FileName, FileType : FileHandle) FileType: 'output':创建文本 ‘append':在原有的文本基础上写入该文件 'input':打开文件 2.fwrite_string( : : FileHandle, String : ) 写入文件 3.fnew_line( : : FileHandle : ) 换行 4.close_file( : : FileHandle : )

使用IOS7原生API进行二维码条形码的扫描

使用IOS7原生API进行二维码条形码的扫描 IOS7之前,开发者进行扫码编程时,一般会借助第三方库.常用的是ZBarSDK,IOS7之后,系统的AVMetadataObject类中,为我们提供了解析二维码的接口.经过测试,使用原生API扫描和处理的效率非常高,远远高于第三方库. 一.使用方法示例 官方提供的接口非常简单,代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

HALCON学习-资料

HALCON学习网: http://www.ihalcon.com/ 学习资料推荐博客: http://k594081130.blog.163.com/blog/static/218359013201371733044129/

HALCON学习-下载、安装、破解、汉化

下载地址: 官网 HALCON学习网 安装: 直接安装文件halcon-12.0-windows-x86.exe 破解,汉化: 在HALCON学习网中有Licence文件“license_support_halcon12_2015_03.dat” 将该文件复制到HALCON安装目录下,C:\Program Files\MVTec\HALCON-12.0\license,并将文件名改为license.dat 完成:

Halcon学习笔记之支持向量机(二)

例程:classify_halogen_bulbs.hdev 在Halcon中模式匹配最成熟最常用的方式该署支持向量机了,在本例程中展示了使用支持向量机对卤素灯的质量检测方法.通过这个案例,相信大家可以对支持向量机的使用有一个更加清晰的了解.在相当多的检测和识别的应用中,都可以使用相同的方法来解决分类问题. 图1. 卤素灯图像 大致原理: 一.准备阶段:描述样本 1. 准备好两组卤素灯图像样本,好坏的各若干张图像: 2. 对样本图像进行分割,获取卤素灯关键部位区域: 3. 选择合适的对图像的描述

从Storm和Spark Streaming学习流式实时分布式计算系统的设计要点

0. 背景 最近我在做流式实时分布式计算系统的架构设计,而正好又要参见CSDN博文大赛的决赛.本来想就写Spark源码分析的文章吧.但是又想毕竟是决赛,要拿出一些自己的干货出来,仅仅是源码分析貌似分量不够.因此,我将最近一直在做的系统架构的思路整理出来,形成此文.为什么要参考Storm和Spark,因为没有参照效果可能不会太好,尤其是对于Storm和Spark由了解的同学来说,可能通过对比,更能体会到每个具体实现背后的意义. 本文对流式系统出现的背景,特点,数据HA,服务HA,节点间和计算逻辑间