资源简介
matlab编写的识别条码程序,内含条码工具箱,可直接运行,适合物联网专业,食品工程专业参考
代码片段和文件信息
%%------------条码识别,建立宽度序列--------------%%%
%EAN-13条码字符集特点:A/B子集为白开头黑结尾,C子集为黑开头白结尾
%:一个字符由2个条和2个空构成,故A/B子集就是白黑白黑,C子集就是黑白黑白
function [numberbar1]=barcognition(Iheightwidth)
bar=zeros(1width);
znum = zeros(1width);
onum = zeros(1width);
%%%-----------------少数服从多数校正----------------%%%
for i=1:height
for j=1:width
if(I(ij)==0)
znum(1j)=znum(1j)+1;%统计每一列0的个数
else
onum(1j)=onum(1j)+1;%统计每一列1的个数
end
end
end
%%决定宽度序列的二进制码
for i=1:width
if(znum(1i)>onum(1i))
bar(1i)=0;
else
bar(1i)=1;
end
end
%00011000--010
%1000000001100000--10000100
%1111111001111100--1110110
%1111100111111100--1101110
%11000001111111000-1001110
%1000111100000000--1011000
%1100001111111000--1001110
%11001100011--10101
%001111111110011---0111101(3)
%0011111001111111--0110111(8)
%00000110000011111-0010011(2)
%0011111111100111--0111101(3)
%0011001111111111--0101111(6)
%0011111110011111--0111011(7)
%0011000--010
%%--------------校正条形码宽度序列------------------%%
%%%-------------------奇偶校正---------------------%%%
zcout=0;
ocout=0;
count=1;
bar1=zeros(1width+10);
for i=1:width
if(bar(1i)==0)
if(ocout==1) %删补,让它成偶数
bar1(1count)=1;%补上1个1;
count=count+1;
elseif(ocout>8) %4/5
for i=1:(ocout-8)
count=count-1;
end
end
ocout=0;
zcout=zcout+1;
bar1(1count)=0;%累加0
count=count+1;
end
if(bar(1i)==1)
if(zcout==1) %判断前面有多少个0
bar1(1count)=1;%补上1个1;
count=count+1;
elseif(zcout>8) %多于8个的,删除多余的
for i=1:(ocout-8)
count=count-1;
end
end
zcout=0;
ocout=ocout+1; %字符1计数
bar1(1count)=1;
count=count+1;
end
end
number=count-1;
%%-----------------字符集分类-------------------%%
%开始数据(3010),左侧数据(6)中间符(510101),右侧数据(6),结束符(3)
data =zeros(159); %起始符有3个字符
ldata =0; %白黑白黑
count1=1;
oflag=false;
zflag=false;
stflag=true;
for i=1:number
if(stflag==true)
if(bar1(1i)~=0)%判断是否为0,如果不是0则不开始统计数据
continue;%跳过去
else
stflag = false;
end
end
if(bar1(1i)==0)
if(oflag==true)
count1=count1+1;%1切换到0,表示白到黑,换一种类型
oflag=false;
end
zflag=true;
data(1count1)=data(1count1)+1;
%count=count+1;
elseif(bar1(1i)==1)
if(zflag==true)
count1=count1+1; %换一种类型
zflag=false;
end
oflag=true;
data(1count1)=data(1count1)+1;
%count=count+1;
end
end
%[number] = findchar(a1b1a2b2pos)
max = count1-1;
%pos = 0;
%[numvalid]=findchar(data(11)data(12)data(13)‘head‘);
%左侧数据
lnumber=0;
pos =1;
for i=4:4:24
[lnumlvalid]=findchar(data
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-11-18 19:45 matlab 条码\
文件 100129 2014-06-03 10:12 matlab 条码\01.jpg
文件 3077178 2009-05-19 02:37 matlab 条码\avbin.dll
文件 4660639 2009-05-20 02:44 matlab 条码\avbin64.dll
文件 3574 2007-11-12 19:43 matlab 条码\barcognition.m
文件 6448 2014-05-21 10:26 matlab 条码\bw3.jpg
文件 8144 2016-11-18 19:13 matlab 条码\codebar.m
文件 8048 2014-05-21 16:35 matlab 条码\codebarreg.m
文件 28788 2009-10-16 04:28 matlab 条码\FFGrab.cpp
文件 44571 2009-10-16 03:49 matlab 条码\FFGrab.mexa64
文件 42230 2009-10-16 04:06 matlab 条码\FFGrab.mexglx
文件 39196 2009-10-16 04:20 matlab 条码\FFGrab.mexmac
文件 42192 2009-10-16 04:20 matlab 条码\FFGrab.mexmaci
文件 39328 2009-10-16 04:20 matlab 条码\FFGrab.mexmaci64
文件 137998 2009-10-16 04:14 matlab 条码\FFGrab.mexw32
文件 756917 2009-11-13 03:11 matlab 条码\FFGrab.mexw64
文件 2409 2007-11-12 19:30 matlab 条码\findchar.m
文件 19608 2014-06-03 10:13 matlab 条码\hs_err_pid7668.log
文件 2354 2014-05-21 16:36 matlab 条码\I5.jpg
文件 1087 2007-11-08 10:32 matlab 条码\ImageEdgePoint.m
文件 4382 2014-06-03 12:00 matlab 条码\imagefilter.m
文件 9536816 2009-05-18 23:20 matlab 条码\libavbin.dylib
文件 4326671 2009-09-26 03:35 matlab 条码\libavbin.so
文件 4326470 2009-10-10 11:34 matlab 条码\libavbin.so.32
文件 3711574 2009-10-10 11:44 matlab 条码\libavbin.so.64
文件 1334 2009-11-13 07:28 matlab 条码\license.txt
文件 10131 2007-07-28 10:24 matlab 条码\mexDDGrab.cpp
文件 77824 2008-10-13 22:36 matlab 条码\mexDDGrab.dll
文件 77824 2008-10-13 22:36 matlab 条码\mexDDGrab.mexw32
文件 106496 2008-04-29 03:12 matlab 条码\mexDDGrab.mexw64
文件 25976 2009-10-16 04:08 matlab 条码\mmread.m
............此处省略4个文件信息
相关资源
- MATLAB神经网络30个案例分析 电子书和
- MATLAB在经济学中的应用
- NURBS 工具箱使用教程
- 《MATLAB神经网络43个案例分析》源代码
- MATLAB神经网络30个案例分析PDF书与代码
- MeanShift算法详解以及matlab源码
- MATLAB图像处理工具箱用户手册
- webrtc的AEC的matlab算法演示和转码
- [ 数字调制解调技术的MATLAB与FPGA实现
- 基于神经网络的车牌识别系统 matlab
- Matlab信源编码LZ
- 灰色模型算法
- 时间序列分析实验报告
- 同步电机模型的MATLAB仿真.doc
- 航空公司的预订票策略 matlab 数学建模
- MATLAB实现音频分析仪
- 数字调制的MATLAB代码 ASK FSK OOSK PSK
- 偏最小二乘法资料和matlab程序
- SLIC超像素分割 matlab版本的代码
- 基于四阶累积量的MUSIC算法——MATLA
- 《生物医学数据分析及其matlab实现》
-
MATLAB/Simuli
nk电力系统建模与仿真于 - 车辆工程仿真与分析基于MATLAB的实现
- 数字图像处理使用matlab进行几何变换
- Matlab与空间计量.rar
- 经济预测方法及MATLAB实现
- 各种算法及matlab实现_个人归纳
-
Matlab Simuli
nk系统仿真 - 电扫阵列MATLAB建模与仿真[A·D·布朗
-
《基于MATLAB/Simuli
nk的系统仿真技术
评论
共有 条评论