[第四章]开发小要点:提高条形码识别率
关于如何提高条形码识别率,下面有几个要点:
条形码的图片质量很重要。通常,条形码识别器处理区域中像素的计数以确定条形码类型中特定条的宽度和位置。因此,如果分辨率不高,此过程会受到影响。
通常,分辨率至少要达到200dpi,并且分辨率越高越好。大多数开发人员想通过最小化分辨率来节省存储空间。只是要确保不要为了存储效率而牺牲条形码识别效率。请记住,分辨率越低,越可能缺乏识别所需的像素密度。
一般来说,对于一维条形码,每个条码的最小条和间隙至少需要三个像素。对于二维条形码来说,通常是5个像素左右。有时,尽管分辨率不低但就是没有良好的像素密度,这可能有很多原因——标签或打印机的质量不好,等等。
处理不可读或损坏的条形码
对于低质量或损坏的条形码,需要确定三块内容,以确定是否需要通过预处理对条形码进行图像增强:
膨胀(Dilation)——将像素添加到图像中对象的边界,而膨胀则会删除对象边界上的像素。
二值化(Binarization)——将图像转换为黑白图像,从而可以更轻松地区分图像边缘。
去除杂点(Despeckle)——考虑一个区域内像素的平均值,以尝试检测像素是否是一种颜色,还是在图像采集过程中产生了杂点。
倾斜校正
如果条形码是倾斜的,根据角度和倾斜程度的不同,条形码的间距可能会比正常情况更粗或更细。同时,校正条码会降低图像质量,这会导致条形码识别的准确率下降。您可以使用SDK的预处理功能对条形码进行自动倾斜校正来最大程度地提高识别准确性。但校正会消耗一些时间并降低条码识别的速度。
扫描距离
对于一维条形码,扫描距离很重要,因为它可能会影响条形码识别,因为可能会扫描到不需要的像素。例如,页面上的数字“1”,不管它是句子中文本的一部分,还是条形码类型的一部分,根据它的位置和扫描距离,都可能被误认为是条形码。因此,理想的是将扫描距离设置为五个像素或更多,以获得最佳的解码速度和准确性。 通常,设置的扫描距离越大(超过5个),扫描速度就越快。
一般来说,与智能手机相比,激光扫描仪在读取两英尺以上的距离时表现得更好。他们在通常在光线较暗的场景下也表现得更好。借助于内置软件中的预处理功能,可以在扫描过程中快速纠正损坏或难以读取的条形码,以提高识别率。
附:Dynamsoft Barcode Reader 免费在线演示
这篇文章是“条形码阅读技术的最佳实践”系列的第四章。
[第四章]开发小要点:提高条形码识别率相关推荐
- 猿创征文|OpenCV 如何提高条形码识别率
猿创征文|OpenCV 如何提高条形码识别率 今天介绍一个使用OpenCV提高条形码识别率的算法 平台及OpenCV库简介 强烈建议:先学习一下OpenCV的课程 步入正题:从图片读取到条码截取部分( ...
- 如何提高条形码识别率
在平时制作条形码并连接打印机批量打印时,最重要的就是条形码的识别率,中琅条码软件中条形码都是符合国际编码规范,且绘制对象都矢量格式,输出清晰度是没有问题的.如果由于硬件设备或者墨粉原因造成打印的条形码 ...
- java中北大学ppt总结+课后习题第四章(小宇特详解)
java中北大学ppt总结+课后习题第四章(小宇特详解) 继承 子类与父类 继承是根据现有类创建新的类的机制,由继承而得到的新类称为子类(subclass)或派生类(derived class),被继 ...
- 【正点原子MP157连载】 第四章 开发环境搭建-摘自【正点原子】【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...
- .NET Core实战项目之CMS 第十四章 开发篇-防止跨站请求伪造(XSRF/CSRF)攻击处理...
通过 ASP.NET Core,开发者可轻松配置和管理其应用的安全性. ASP.NET Core 中包含管理身份验证.授权.数据保护.SSL 强制.应用机密.请求防伪保护及 CORS 管理等等安全方面 ...
- 解决vscode开发小程序的标签识别问题
用vscode开发小程序,发现无法识别view标签,即使安装了小程序开发助手.wechat-snippet,问题依然存在. 在此记录一下解决方法:打开vscode的设置(ctrl+,)---- 选择编 ...
- 图像文字识别(三):Tesseract4.0训练字库,提高正确识别率
由于tesseract的中文语言包"chi_sim"对中文手写字体或者环境比较复杂的图片,识别正确率不高,因此需要针对特定情况用自己的样本进行训练,提高识别率,通过训练,也可以形成 ...
- 提高Tesseract识别率
Tesseract分享 - 雾非雾的情思 Tesseract分享 本分享基于tesseract4.x 认识Tesseract 项目主页:https://github.com/tesseract-ocr ...
- Android平台使用PocketSphinx做离线语音识别,小范围语音99%识别率
为什么80%的码农都做不了架构师?>>> 最近语音识别很火,但是都是用的在线语音识别,研究了一下离线语音识别,小范围内的语音识别率还不错,在此记录一下 首先本文要说的两个前提1 ...
最新文章
- C++ 获取内存地址(取值运算符)
- 云解析DNS产品优势与应用场景
- 关于Vision Transformer的一些思考
- 02. SQL表达式的灵活使用
- Windows Media Player 控件的常用属性及方法
- Slack推安全企业加密管理可轻易用密钥控制数据
- placement new 操作符
- Vue.js 目录结构
- 一直在构建工作空间_智能工作空间让Dropbox拥有无限扩展潜力
- 两个not exists_分享两个冷门但又超实用的 Vim 使用技巧!
- gitlab主备同步_gitlab实现主备切换集群
- web前端设计与开发作品:旅游酒店网站设计——中国风的温泉酒店预订网站全套html模板(13页) HTML+CSS+JavaScript
- 软件license授权加、解密,软件注册工具(2)
- python对比excel重复数据_python入门之对比两份excel表格数据
- 盘点7大影视类宝藏公众号,影迷/编导生必备,强烈推荐第3个【覃小龙课堂】
- 常用显卡驱动下载合集
- 求水仙花数C语言实现
- 6 --> MAC层协议
- python性能测试模块_【Python】模块学习之locust性能测试
- 好分数阅卷3.0_好分数教师版下载-好分数教师版app下载(暂未上线)_预约_飞翔下载...
热门文章
- 搭建Wiki+JIRA超详细教程
- Tinder养号防封攻略来了:最新Tinder养号流程和运营攻略
- postgresql13主从流复制
- php 插件化开发模式,JavaScript_JavaScript插件化开发教程(六),一,开篇分析
今天这篇文章 - phpStudy...
- qt4.8.6交叉编译详解
- 【数据集】CMIP6气候模式数据下载
- 只有本科学历的传奇数学家去世了:他打开了通往费马大定理的大门
- 安卓编程基础——标签
- 信息学奥赛一本通:1012:计算多项式的值
- GitLab + Jenkins + Docker 实现 CI/CD 集成发布