【图像处理】QR二维码识别与生成matlab代码

497 阅读2分钟

1 简介

QR二维码的识别技术是数字图像处理领域研究的一个热门课题.随着物联网的不断发展,QR二维码凭借其强大的信息存储能力,方便快捷的识读优点,安全可靠的编码技术,已经逐渐地应用于各个行业领域.同时,二维码识读设备也朝着智能化,微型化和网络化的趋势发展.因此,对基于嵌入式图像采集处理的QR码识别系统的研究具有重大而深远的意义. 本文首先对国内外QR二维码识别技术进行了深入研究和对比,主要包括QR码的原理,结构特点,编码规则以及重点研究数字图像处理算法在QR二维码上的应用.结合QR二维码自身结构特征,通过数字图像处理算法对QR码进行灰度化处理,滤噪,二值化,图像定位,几何校正,图像分割等.在不同条件下,分析比较各算法的处理效果,算法鲁棒性以及执行速率

2 部分代码

%OTSU matlab程序  
%G = imread('pre_noise.bmp');  

function I=otsut(G)
I = G;  
 
[m,n] = size(I);  
Hist = zeros(255);%直方图  
dHist = zeros(255);  
variance = zeros(255);%方差  
PXD = 0;  
 
for i = 1:m  
   for j = 1:n  
       Hist(I(i,j)+2) = Hist(I(i,j)+2) + 1;  
   end  
end  
 
for i = 1:255  
   dHist(i) = Hist(i)/(m*n);  
end  
 
for PXD = 1:255  
   w0 = 0;  
   w1 = 0;  
   g0 = 0;  
   g1 = 0;  
   for i = 1:PXD  
       g0 = g0 + i*dHist(i);  
       w0 = w0 + dHist(i);  
   end  
   for i = PXD+1 : 255  
       g1 = g1 + i*dHist(i);  
       w1 = w1 + dHist(i);  
   end  
   variance(PXD) = w0*w1*(g0 - g1)*(g0 - g1);  
end  
 
PXD = 1;  
for i = 1:255  
   if variance(PXD) < variance(i)  
       PXD = i;  
   end  
end  
 
for  i = 1:m  
   for j = 1:n  
       if I(i,j) > PXD   
           I(i,j) = 255;  
       else  
           I(i,j) = 0;  
       end  
   end  
end      
imagBW = I;

3 仿真结果

4 参考文献

[1]马超. 基于人工智能算法的QR码识别系统应用与比较[D]. 杭州电子科技大学, 2013.

部分理论引用网络文献,若有侵权联系博主删除。

5 MATLAB代码与数据下载地址

见博客主页