2025/12/27 14:58:53
网站建设
项目流程
网站搭建设计 是什么意思,wordpress必备文件组合,网站移动端是什么,云南建设厅网站公示条码技术详解#xff08;含 Halcon 应用示例#xff09;
一、一维码#xff08;线性条码#xff09;
1. 定义
一维码是由规则排列的条#xff08;低反射率部分#xff09;和空#xff08;高反射率部分#xff09;组成的标记#xff0c;通过条空组合表达信息#x…条码技术详解含 Halcon 应用示例一、一维码线性条码1. 定义一维码是由规则排列的条低反射率部分和空高反射率部分组成的标记通过条空组合表达信息可被设备识读并转换为计算机兼容的二进制 / 十进制数据。2. 常见码制及应用场景码制特点及应用示例场景EAN 码国际通用商品条码分 EAN-1313 位标准版和 EAN-88 位缩短版我国通用商品条码与其等效。超市商品包装、零售商品UPC 码美国统一代码委员会制定分 UPC-A12 位和 UPC-E6 位主要用于美加地区。美国进口商品、北美零售市场39 码可表示数字、字母及特殊字符应用广泛适用于工业、图书、票证管理。物流标签、工业零部件追溯Code 93 码字符集与 39 码相同密度更高适用于空间有限的场景。小型包装、电子元件标签库德巴码Codabar支持数字和字母主要用于医疗卫生、图书情报、物资管理。医院病历管理、图书馆借阅标签Code 128 码可表示 ASCII 0-127 全字符集密度高、容错性强应用灵活。物流面单、生产流水线追溯ITF 25 码交叉 25 码仅表示数字条空均含信息字符数为偶数奇数需补 0适用于包装行业。瓦楞纸箱、包装物流标签Industrial 25 码仅表示数字条含信息、空为分隔符结构简单。仓储托盘标识、工业零件编号Matrix 25 码仅表示数字结合 ITF25 的起止符可生成中国邮政码。邮政包裹、信件分拣3. 组成结构一维码的标准结构从左到右静区前 → 起始符 → 数据符 → [中间分割符如EAN码] → [校验符] → 终止符 → 静区后静区条码两端的空白区域确保阅读器正确识别起始 / 终止宽度通常≥6mm或 10 倍模块宽度。起始 / 终止符标志条码的开始和结束包含码制识别和阅读方向信息。数据符核心信息区域由条空组合表示具体数据。模块条码中最窄的条或空是构成条码的基本单位单位mm 或 mil。二、二维码1. 定义二维码2-dimensional bar code是通过平面二维方向上黑白相间的几何图形按规律分布记录信息的符号基于二进制 “0”“1” 逻辑可被扫描设备自动识读支持多行信息识别和旋转处理具备字符集特定、校验功能等特性。2. 常见码制及应用码制特点及应用示例场景QR Code应用最广泛容错能力强7%~30%支持中文、图片等可快速识读。支付码、名片、产品溯源Data Matrix高密度最小可打印在 1mm² 内适用于小尺寸物品如电子元件。芯片标识、医疗器械标签PDF417多行堆叠式信息容量大可存 1850 个字符适用于证件类。身份证、护照、登机牌Aztec Code无静区识别速度快适用于移动设备扫描。门票、电子优惠券MaxiCode圆形结构专为物流设计支持快速分拣。联邦快递、UPS 包裹追踪三、条码 / 二维码等级条码等级是衡量识读性能的标准由国际标准 ISO/IEC 15416一维码和 ISO/IEC 15415二维码规定通常分为A、B、C、D、F五级A 级最优可被所有设备快速识读适用于高速扫描场景如生产线。B 级良好大部分设备可识读适用于普通零售。C 级一般需调整扫描设备参数才能识读适用于低速度场景。D 级较差识读困难可能需要多次尝试。F 级不合格无法被标准设备识读。四、Halcon 条码处理示例Halcon 提供了完整的条码识别库支持一维码和二维码的读取、定位及等级检测。1. 一维码识别以 EAN-13 为例read_image (Image, ean13_label.png) // 读取含EAN-13码的图像 dev_close_window () get_image_size (Image, Width, Height) dev_open_window (0, 0, Width, Height, black, WindowHandle) dev_display (Image) // 预处理转为灰度图若为彩色 rgb1_to_gray (Image, GrayImage) // 识别一维码自动识别码制 read_bar_code (GrayImage, BarCodeStrings, auto, DecodedDataHandles) // 输出结果 if (|BarCodeStrings| 0) disp_message (WindowHandle, 识别结果: BarCodeStrings, window, 10, 10, green, true) else disp_message (WindowHandle, 未识别到条码, window, 10, 10, red, true) endif // 释放资源 clear_bar_code_data (DecodedDataHandles)2. 二维码识别以 QR Code 为例read_image (Image, qr_code.png) // 读取含QR码的图像 dev_close_window () get_image_size (Image, Width, Height) dev_open_window (0, 0, Width, Height, black, WindowHandle) dev_display (Image) // 预处理增强对比度可选 emphasize (Image, ImageEmphasize, 1, 1, 1) // 识别二维码指定QR Code码制 find_qr_code (ImageEmphasize, QRCodeModelID, QRCodeResultID, all, 0, 0, ResultHandles, DecodedData) // 输出结果及定位 if (|DecodedData| 0) disp_message (WindowHandle, QR码内容: DecodedData, window, 10, 10, green, true) // 绘制二维码边框 get_qr_code_result (ResultHandles, contour, Contours) dev_set_color (red) dev_display (Contours) else disp_message (WindowHandle, 未识别到QR码, window, 10, 10, red, true) endif // 释放资源 clear_qr_code_result (ResultHandles) clear_qr_code_model (QRCodeModelID)3. 条码等级检测以 Code 128 为例read_image (Image, code128_quality.png) gray_image (Image, GrayImage) // 创建条码等级检测模型 create_bar_code_quality_model (BarCodeQualityModelID) // 检测条码等级 inspect_bar_code_quality (GrayImage, BarCodeQualityModelID, code128, 0, 0, QualityResults, DecodedData) // 输出等级结果 get_bar_code_quality_result (QualityResults, grade, Grade) disp_message (WindowHandle, 条码等级: Grade, window, 10, 10, blue, true) // 释放模型 clear_bar_code_quality_model (BarCodeQualityModelID)总结一维码适用于简单信息如商品编号二维码支持大容量、多类型信息如图文、网址。Halcon 通过read_bar_code、find_qr_code等函数实现高效识别结合等级检测可确保条码在实际场景中的可靠性。