资源描述:
《Halcon识别一维码的代码实例.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Stage I's hdev的代码实例 ===============================================================================* Autodiscrimination A.hdev * * Code generated by Image Acquisition 03 * 获取条形码,并计算及显示解码时间,并从规定读取的条码类型范围中读取被解码的条码类型也可设置成不规定条码类型即自动识别,但会增加解码时间,甚至出现误读的情况。 * 可读取多个不同类型的条码,并且多个条
2、码用不同颜色的区域框区分,且读取出来的信息也以相应的颜色做区分 dev_close_window () dev_open_window (0, 0, 600, 600, 'black', WindowHandle) *先关闭活动图形窗口,再打开这个窗口,标识符为WindowHandle; *相对于界面左上角第0行、第0列,大小为300×300像素,颜色为黑色。 open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'defa
3、ult', 'Gsou USB2.0 Camera', 0, -1, AcqHandle) * 打开帧接收器(图像采集设备,如摄像头,工业相机等),参数(Parameter)详见这个算子注意,采集器名称不同要更改,或者用助手获取也可以。grab_image_start (AcqHandle, -1)while (true) grab_image_async (Image, AcqHandle, -1) *开始条形码识别 create_bar_code_model ([], [], BarCodeHandle) *必备的创
4、建条码解码的开头,下面有一段结束代码 dev_update_var ('off') dev_update_pc ('off') dev_update_window ('off') * 刷新窗体 set_display_font (WindowHandle, 14, 'mono', 'true', 'false') dev_set_draw ('margin') dev_set_line_width (3) Colors := ['forest green','
5、magenta','blue','red','yellow']* 设置区域框的属性,如无填充色、边框线大小为3,颜色。 *CodeTypes := ['auto'] CodeTypes := ['EAN-13','Code 39','EAN-8','Code 128','Code 93'] * 设置条码的类型,如EAN-13等5种一维码类型,或者auto自动获取(但解码时间较长且有误读的可能) get_image_size (Image, Width, Height) dev_displa
6、y (Image) *获取图像大小,并显示图像 count_seconds (Start) find_bar_code (Image, SymbolRegions, BarCodeHandle, CodeTypes, DecodedDataStrings) count_seconds (Stop) Duration := (Stop - Start) * 1000 *开始计时、寻找并解码条形码(参数解释详见这个算子),结束计时,并计算解码的时间 dev_display
7、 (SymbolRegions) get_bar_code_object (BarCodeObjects, BarCodeHandle, 'all', 'symbol_regions') get_bar_code_result (BarCodeHandle, 'all', 'decoded_types', DecodedDataTypes) *area_center (SymbolRegions, Area, Rows, Columns) for J := 0 to
8、DecodedDataStrings
9、
10、-1 by 1 dev_set_color (Colors[J]) select_obj (BarCodeObjects, ObjectSelected, J+