目录

1.算法仿真效果

2.MATLAB核心程序

3.算法涉及理论知识概要

3.1一维条码概述

3.2EAN-13码符号的特征

3.3EAN-13码符号的特征

4.完整MATLAB


1.算法仿真效果

matlab2022a仿真结果如下:

2.MATLAB核心程序

....................................................................
%图片转换为灰度图
if size(bar_image,3) == 3
bar_image       = rgb2gray(bar_image);
else
bar_image       = bar_image;
end
subplot(222);imshow(bar_image/0.5);title('原始图像的灰度图');
%添加噪声
bar_image_noise = imnoise(bar_image,'salt & pepper',noise_level);
subplot(223);imshow(bar_image_noise/0.5);title('加入噪声后的图像');
%进行中值滤波
bar_image_filter= medfilt2(bar_image_noise,[filter_area filter_area]);
subplot(224);imshow(bar_image_filter/0.5);title('滤波之后的图像');%% 参数初始化
%% 参数初始化
%% 参数初始化
%二值化参数
level = 0.8;
%左边和右边数据编码
codes = [3211,2221,2122,1411,1132,1231,1114,1312,1213,3112;    1123,1222,2212,1141,2311,1321,4111,2131,3121,2113];
%第一位数据编码
first_codes = [31,20,18,17,12,6,3,10,9,5];
%求灰度图的大小
[height,width]      = size(bar_image_filter);
%二值化参数
bar_image_filter_10 = im2bw(bar_image_filter,level);%% 条码检测
%% 条码检测
%% 条码检测%检测59根条形码
l = 0;
for i=1:heightk = 1;l = l+1;for j=1:width-1%比较同一行相邻两点的颜色是否一致if bar_image_filter_10(i,j)>bar_image_filter_10(i,j+1) | bar_image_filter_10(i,j)< bar_image_filter_10(i,j+1)  Y_position(l,k) = j; %记录坐标k = k+1;        endif k>61 l = l-1;breakendendif k<61l = l-1;end
end[height,width] = size(Y_position);if height<=1 disp('无效的条形码');
else%条形码的宽度bar_width = func_Tiaox_width(Y_position,height,width);%条形码的宽度[bar_sum2,Left_bar_number,Right_bar_number]=func_eachwidth(bar_width,height);bar_number      = '';bar_fist_number = 0;first           = 2;%左边编码查出条形码编码
.......................................................................
end
09_014_m

3.算法涉及理论知识概要

条码技术是在计算机的应用实践中产生和发展起来的一种自动识别技术,条码应用技术就是应用条码系统进行的信息处理技术。条码技术的研究始于20世纪中期,是继计算机技术应用和发展应运而生的。随着70年代微处理器的问世,标志着“信息化社会”的到来,它要求人们对社会上各个领域的信息、数据实施正确、有效、及时的采集、传递和管理。因此如何代替人的视觉、人的手工操作、或者在复杂的环境中正确、迅速地获取信息并加以识别,成为人们普遍关心和有关人员精心研究的课题。通俗的说条形码是指在浅色衬底上印有深色矩形的线条(也称条码)排列而成的编码,其码条和空白条的数量和宽度按一定的规则(标准)排列。条形码是由一组规则排列的条、空、相应的数字组成。这种用条、空组成的数据编码可以供机器识读,而且很容易译成二进制数和十进制数。这些条和空可以有各种不同的组合方法,构成不同的图形符号,即各种符号体系,适用于不同的应用场合。条码系统是由条码符号设计、制作及扫描阅读组成的自动识别系统。微电子技术和激光技术的发展使得条码识别系统越来越受到人们的关注。条码是迄今为止最经济、实用的一种自动识别技术。

3.1一维条码概述

条码可分为一维条码 (One Dimensional Barcode, 1D) 和二维码(Two Dimensional Code, 2D)两大类,目前在商品上的应用仍以一维条码为主,故一维条码又被称为商品条码,二维码则是另一种渐受重视的条码,其功能较一维条码强,应用范围更加广泛。通常一个完整的条码是由两侧空白区、起始字符、数据字符、校验字符、终止字符组成,以一维条码而言,其排列方式通常如表1所示:

1、空白区

位于条码两侧无任何符号及资讯的白色区域,主要用来提示扫瞄器准备扫瞄。

2、起始字符

指条码符号的第一位字码,用来标识一个条码符号的开始,扫瞄器确认此字码存在后开始处理扫瞄脉冲。

3、数据字符

位于起始字符后面的字码,用来标识一个条码符号的具体数值,允许双向扫瞄。

4、校验字符

用来判定此次阅读是否有效的字码,通常是一种算术运算的结果,扫瞄器读入条码进行解码时,先对读入各字码进行运算,如运算结果与检查码相同,则判定此次阅读有效。

3.2EAN-13码符号的特征

(1)条码符号的整体形状为矩形。由一系列互相平行的条和空组成,四周都留有空白区。

(2)条空分别由1-4个同一宽度的的深或浅颜色的模块组成。深色模块用“1”表示,浅色模块用“0”表示。

(3)在条码符号中,表示数字的每个条码字符仅由两个条和两个空组成,共7个模块。

(4)除了表示数字的条码字符外,还有一些辅助条码字符,用作表示起始、终止的分界符和平分条码符号的中间分隔符。

(5)条码符号可设计成既可供固定式扫描器全向扫描,又可用手持扫描设备识读的形式。

(6)条码符号的大小可在放大系数的两个极限值所决定的尺寸之间变化,以适应不同印刷工艺的需求及用户对印刷面积的要求。

(7)对一个特定大小的条码符号所规定的尺寸称为名义尺寸,放大系数的范围0.8-2.0。

(8)供人识别的字符规定采用OCR-B字符。

3.3EAN-13码符号的特征

EAN-13条码的一个字符。条、空宽度的定义如下:图中C1、C2、C3、C4表示每个字符中四个相邻条、空的宽度,T表示一个字符的宽度。

设一个字符中单位模块的宽度为n,则单位模块的宽度:

n=T/7

T=C1+C2+C3+C4

由于条码条、空宽度C1、C2、C3、C4已知,设条码条、空分别占单位模块的个数为mi,则:

mi=ci/n(其中i取1、2、3、4)

因此,由mi可知道条码的编码。例如:

(1)若m1=2、m2=2、m3=2、m4=1;

条码的排列为条-空-条-空,

则可知条码编码为1100110,是右侧偶性字符1;

(2)若m1=1、m2=2、m3=1、m4=3;

条码的排列为空-条-空-条,

则可知条码编码为0110111,是右侧奇性字符8。

4.完整MATLAB

V

m基于EAN13字符编码规则的一维条形码条码宽度计算和数字译码matlab仿真相关推荐

  1. ASCII、Unicode、UCS-2、UTF-8 等字符编码规则的区别与联系

    目录 一.前言 二.补充(bit & Byte) 三.ASCII(美国信息交换标准代码) 四.各国独立的语言编码 五.Unicode(统一码.万国码) 1. Unicode字符集 2. Uni ...

  2. 基于BP神经网络的手写体数字识别matlab仿真实现

    目录 一.理论基础 二.核心程序 三.测试结果 一.理论基础 文字.数字识别是一个典型的模式识别问题,也是模式识别中一个非常重要的应用领域.在文字.数字识别系统中,手写体的文字与识别是一个较难的领域, ...

  3. 【自适应盲均衡10】基于判决引导(Decision Directed)的多径衰落信道双模式盲均衡算法与MATLAB仿真(DD-CMA)

    关注公号[逆向通信猿]更精彩!!! 引言 判决反馈均衡器(Decision Feedback Equalizer, DFE)虽然能够避免线性FIR均衡器的噪声增强,适用于具有深度谱零点的信道均衡:但是 ...

  4. 基于OCR模板匹配的手写英文字母数字识别matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 OCR技术中使用模板匹配法时首先要建立标准的模板字符库,接着将待识别字符图像与模板字符库中字符进行匹 ...

  5. 基于polar码和SCMA的多用户检测的联合检测译码matlab仿真,polar采用SCAN软译码,SCMA用MPA算法

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 构造的核心是通过信道极化(channel polarization)处理,在编码侧采用方法使各个子信 ...

  6. 基于目标运动模型和观测模型的交互多模算法IMM卡尔曼滤波目标跟踪matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 IMM算法的基本思想是用多个不同的运动模型匹配机动目标的不同运动模式,不同模型间的转移概率是–个马尔 ...

  7. m基于HMM隐性马尔科夫模型的驾驶员驾驶意图识别算法matlab仿真

    目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整算法代码文件 1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 随着智能交通系统的发 ...

  8. 【堆叠抓取+深度学习】基于深度学习+PPO深度强化学习的堆叠物体抓取算法的MATLAB仿真

    1.软件版本 matlab2021a 2.本算法理论知识 堆叠推理的算法流程图这里特别说明下: 3.核心代码 function err=func_obj1(X,trainData);LR = X(1) ...

  9. 一维,二维条形码/条码的编码规则

    编码规则 唯一性:同种规格同种产品对应同一个产品代码,同种产品不同规格应对应不同的产品代码.根据产 品的不同性质,如:重量.包装.规格.气味.颜色.形状等等,赋予不同的商品代码. 永久性:产品代码一经 ...

最新文章

  1. 【bzoj4408】[Fjoi 2016]神秘数 主席树
  2. php yield mysql_PHP 5.5 新特性关键字 yield
  3. 小程序绘图工具painter-json文件绘制保存分享图-可点击任意元素触发函数
  4. php use 使用变量,php闭包中使用use声明变量的作用域实例分析
  5. 用python进行数据分析——第十二章.高阶pandas
  6. 告知书页面html样式,纯CSS实现的三种通知栏滚动效果
  7. hdu 3853 概率dp
  8. CodeForces - 95C Volleyball(建边+dij)
  9. CF1042B Vitamins
  10. 【模型 5.0】幸福sharp模型之专注:上一次的巅峰体验是什么时候?
  11. Nginx的HTTP健康检测
  12. 泛函分析复习笔记(三)紧算子与Fredholm算子
  13. Python实例---抽屉热搜榜前端代码分析
  14. ant +design+vue中You may use special comments to disable some warnings. Use // eslint-disable-next-li
  15. 三菱fx5u plc项目模板程序(含触摸屏程序) 程序注释全面,用的三菱fx5u系列plc和威纶触摸屏
  16. 峰哥买房用的贝壳app,他们的大数据平台如何实现的?
  17. 如何把Windows10打造成Mac
  18. 【公开课预告】:如何借助Google Cloud在海外部署音视频业务?
  19. 电力设备事故演练仿真培训_电力事故VR培训_广州华锐互动
  20. “芬香”获上亿融资,店宝宝:别低估私域流量的作用

热门文章

  1. mvc 中renderpartial的使用
  2. TANX英文翻译软件测试工资,ktanx-jdbc 1.0.5发布,增加自定义sql解析及部分方法修改...
  3. css 3d transform
  4. CUDA实现FFT并行计算
  5. 时间转换: LocalDateTime
  6. 有个程序员女朋友是什么体验?
  7. mtk电池电量与充电电流修改
  8. java中从1到101的素数_「1是不是质数」在c#中完成1到10的素数(1不是素数) - seo实验室...
  9. 洋哥几笔赚暴了的投资
  10. Linux全盘按名搜索文件