提交 0126fafc 编写于 作者: M MaoXianxin

修改文章内容

用OpenCV实现条形码识别-2021-04-22
上级 ff6945b8
# OpenCV_技术文章
企业技术文章精选,**觉得不错的话别忘了点个Star哈**
计划每天更新
**有文章投稿的欢迎哈,我这边可以帮忙内推CSDN公众号等渠道**
**微信联系方式,搜索:mynamemao**
[用OpenCV实现条形码识别-2021-04-22](./用OpenCV实现条形码识别-2021-04-22.md)
\ No newline at end of file
......@@ -16,7 +16,7 @@ https://github.com/opencv/opencv_contrib/tree/master/modules/barcode。
![](./imgs/1.png)
条码区域与其他图像相比有如下两个重要特点:第一,条码区域内的条空是平行排列的,方向趋于一致;第二,为 了条码的可识读性,条码在制作时条和空之间有着较大的反射率差,从而条码区域内的灰度对比度较大,而且边缘信息丰富。
条码区域与其他图像相比有如下两个重要特点:第一,条码区域内的条空是平行排列的,方向趋于一致;第二,为了条码的可识读性,条码在制作时条和空之间有着较大的反射率差,从而条码区域内的灰度对比度较大,而且边缘信息丰富。
# 基于方向一致性的条码定位算法
......@@ -50,7 +50,7 @@ https://github.com/opencv/opencv_contrib/tree/master/modules/barcode。
1. 优化的超分辨率策略指的是对较小的条码进行**超分辨率放大**,不同大小条码做不同处理。
2. 解码算法的核心是基于条码编码方式的**向量距离计算**。因为条码的编码格式为固定的数个"条空",所以可以在约定好"条空"间隔之后。将固定的条空读取为一个向量,接下来与约定好的编码格式匹配,取匹配程度最高的编码为结果。
2. 解码算法的核心是基于条码编码方式的**向量距离计算**。因为条码的编码格式为固定的数个"条空",所以可以在约定好"条空"间隔之后。将固定的条空读取为一个向量,接下来与约定好的编码格式匹配,取匹配程度最高的编码为结果。
3. 在解码步骤中,解码的单位为一条线,由于噪点,条空的粘连等原因,单独条码的解码结果存在较大的不确定性,因此我们加入了对**多条线的扫码**,通过对均匀分布的扫描与解码,能够将二值化过程中的一些不完美之处加以抹除。
......@@ -58,7 +58,7 @@ https://github.com/opencv/opencv_contrib/tree/master/modules/barcode。
4. **更换二值化和解码器**指的是在为解码成功遍历使用每种解码器和二值化尝试解码。
## 使用方式
# 使用方式
C++
......@@ -88,4 +88,8 @@ ok, decoded_info, decoded_type, corners = bardet.detectAndDecode(img)
更多使用方式请参考文档:
https://docs.opencv.org/master/dc/df7/classcv_1_1barcode_1_1BarcodeDetector.html
\ No newline at end of file
https://docs.opencv.org/master/dc/df7/classcv_1_1barcode_1_1BarcodeDetector.html
# 参考文献
王祥敏,汪国有. 一种基于方向一致性的条码定位算法[EB/OL]. 北京:中国科技论文在线 [2015-04-22]. http://www.paper.edu.cn/releasepaper/content/201504-338.
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册