91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

基于MATLAB的一維碼識別系統,對損壞的條碼圖像時執行光電軟仿真,識別率很高。

資源截圖

代碼片段和文件信息

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%???????????????中國礦業大學信息與電氣工程學院?????????????????%
%???????????????????????王燦??????????????????????????????????%
%????????????????????????????????????????????????????%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear?all;
close?all;
%啟動定時器,測試軟件性能
[filenamefilepath]=uigetfile(‘*.jpg‘‘打開文件‘);%gui中打開文件
filep=strcat(filepathfilename);
%filep
Image=imread(filep);
tic;
%讀取圖像并二值化
%?Image?=?imread(‘0081.jpg‘);
level?=?graythresh(Image);??%獲取圖像二值化的閾值
bw?=?im2bw(Imagelevel);????%二值化處理
imshow(bw);
t?=?1;
p?=?1;
[m?n]?=?size(bw);
%初步計數黑白條的書目
q?=?round(m/2);
????for?i=q
????????for?j=1:n-1
????????????if?bw(ij)==0&&bw(ij+1)==1%顏色變化由黑色變成白色,黑條
????????????????x(t)?=?j;
?????????????????t?=?t+1;
????????????end
???????
????????end
????end

for?i=q
????for?j=1:n-1
????????if?bw(ij)==1&&bw(ij+1)==0?%顏色變化由白色變成黑色,白條
????????????y(p)?=?j;
?????????????p?=?p+1;
????????end
???????
????end
end
pin?=?0;
?while?length(x)~=30||length(y)~=30
?????%%等待提示信息
????????if?pin?==0
????????display(‘正在掃碼,請對準而條形碼............‘);
????????end
????????pin?=?pin+1;
?????%條形碼有損壞是逐行掃描
???????for?pp=q:round(5*m/6)
???????????t=1;
???????????p=1;
????????????if?length(x)==30&&length(y)==30?%通過判斷黑白條數測試當前行有無算壞
????????????????break;
????????????end
????????????????for?i=pp
????????????????????for?j=1:n-1
????????????????????????if?bw(ij)==0&&bw(ij+1)==1
????????????????????????????x(t)?=?j;
????????????????????????????t?=?t+1;
????????????????????????end
????????????????????end
????????????????end
????????????????for?i=pp
????????????????????for?j=1:n-1
????????????????????????if?bw(ij)==1&&bw(ij+1)==0
????????????????????????????y(p)?=?j;
????????????????????????????p?=?p+1;
????????????????????????end
???????
????????????????????end
????????????????end
???????end
?end?
?if?length(x)~=30||length(y)~=30
?????display(‘掃碼錯誤!‘);
?????return;
?end
?if?i~=round(m/2)
?????display(‘該條形碼已受損,但仍然可以正常掃描‘);
?end
%計算每個條—空的寬度,利用所記錄在xy數組中的坐標值,對應相減
?for?ii=1:30
????if?ii==1
????????d(ii)=x(ii)-y(ii);??????%計算第一個條的寬度
????????d(ii+1)=y(ii+1)-x(ii);??%計算第一個空的寬度
????end
?????if?ii>1
?????????if?ii>1&&ii<30
????????d(2*ii)?=?y(ii+1)-x(ii);?%分別計算第2~29個空的寬度
????????d(2*ii-1)=x(ii)-y(ii);???%分別計算第2~29個條的寬度
?????elseif?ii==30
?????????d(ii*2-1)=x(ii)-y(ii);???%總共有59個條-空,單獨計算第三十個條的寬度
?????????end
?????end????
end

j??=?3;
for?i=1:6???????????????
????r(i)=(d(j+1)+d(j+2)+d(j+3)+d(j+4))/7;???????%計算左邊六個字的基準碼的寬度
end
j=32;
for?i=7:12
????r(i)=(d(j+1)+d(j+2)+d(j+3)+d(j+4))/7;???????%計算右邊五個字的基準碼的寬度
end
n=0;%四字計數
i=1;
j1=1;
j=4;%跳過起始符,從左邊第一個開始讀碼
flag0=0;%作為標識符,將樣條交替翻譯成1或者0
while?j<=56
????if?n==4
????????n=0;
????????i=i+1;
????end
????if?d(j)<0.5*r(i)%小于0.5舍去
????????return;
????elseif?d(j)<1.5*r(i)&&d(j)>0.5*r(i)%0.5~1.5記為1個值
????????if?flag0==0
????????????bs(j1)={‘0‘};%對于的被譯碼
????????else
?????????????b

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????6746??2015-07-03?14:58??matlab\dimesion_code\one_dimensional_code.m
?????目錄???????????0??2015-06-29?12:41??matlab\
?????目錄???????????0??2015-06-29?12:41??matlab\dimesion_code\
?????文件???????74030??2015-01-07?10:03??matlab\dimesion_code\001.jpg
?????文件???????29880??2015-06-19?15:56??matlab\dimesion_code\002.jpg
?????文件???????30880??2015-06-19?15:55??matlab\dimesion_code\003.jpg
?????文件???????29266??2015-06-19?15:56??matlab\dimesion_code\004.jpg
?????文件???????29772??2015-06-19?15:57??matlab\dimesion_code\005.jpg
?????文件???????32289??2015-06-19?15:57??matlab\dimesion_code\006.jpg
?????文件???????32218??2015-06-19?15:57??matlab\dimesion_code\007.jpg
?????文件???????31456??2015-06-19?15:58??matlab\dimesion_code\008.jpg
?????文件???????83578??2015-06-22?21:46??matlab\dimesion_code\0081.jpg

評論

共有 條評論