图像滤噪以及车牌识别.docx
- 文档编号:3837097
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:14
- 大小:1.89MB
图像滤噪以及车牌识别.docx
《图像滤噪以及车牌识别.docx》由会员分享,可在线阅读,更多相关《图像滤噪以及车牌识别.docx(14页珍藏版)》请在冰豆网上搜索。
图像滤噪以及车牌识别
第二次图像处理作业
班级:
物联网1401
学号:
姓名:
zk
江南大学物联网工程学院
一、作业目的:
针对于不同的图像选取合适的处理方法进行处理,达到较好的效果。
下面将从图像处理方法上进行分类,并说明对应的图片的处理过程和结果,实验代码见附录。
二、处理过程
飞机、细胞及骨骼的图像处理主要是对比度增强;月球、硬币的图像主要是消噪;橄榄球的图像处理主要是对于运动模糊的消除;车牌号码提取主要用到闭运算和图像分割。
2.1对比度增强
通过实验比较,飞机和细胞利用直方图均衡化的处理方法效果比较明显,而骨骼的图像利用同态滤波的方法效果比直方图的好。
2.1.1直方图均衡化
图1原始图像
分析图像可得图像中前景与背景区分度太小,导致图像显示不清晰。
采用直方图均衡化进行全局对比度增强,并利用MATLAB中的调整图像亮度值或彩色映射函数imadjust()进行调整,提高图片的清晰度。
飞机原始图片的灰度直方图如下所示
图2飞机原始图像灰度直方图
根据直方图得出原始图像灰度值主要分布在100-175之间,密集分布在120-140之间。
采用前者并归一化到0-1区间后处理得到的图像如下:
图3100-175区间对比度增强
处理后图像的灰度直方图如下所示;
图4处理后图像灰度直方图
可见均衡后图像对比度明显增强,纹理和边缘更加清晰。
原图灰度分布在很狭窄的区间约[100,175]内。
均衡化后灰度较为分散的分布在[50,200]区间内。
如果采用区间120-140进行对比度增强,得到的图像和灰度直方图分布如下所示,根据图像结果可知,图像的对比度更大,但在灰度值的分布上更加分散。
图5120-140区间对比度增强及灰度直方图
同理对细胞图像的处理图如下:
图6细胞图像处理结果
2.1.2同态滤波
图7同态滤波前后对比图
2.2图像消噪
2.2.1消除椒盐噪声
图8原始图像
椒盐噪声是一种在图像上出现很多白点或黑点的噪声,用线性滤波器滤除的结果不好,对于椒盐噪声采用中值滤波的方法进行消噪处理,利用MATLAB中的medfilt()函数。
处理结果如下:
图9中值滤噪后图像
2.2.2消除高斯噪声
图10原始图形
高斯噪声是指噪声服从高斯分布,即某个强度的噪声点个数最多,离这个强度越远噪声点个数越少,且这个规律服从高斯分布.高斯噪声是一种加性噪声,即噪声直接加到原图像上,因此可以用线性滤波器滤除.
采用高斯滤波器进行消噪,处理后的图像如下所示:
图11高斯滤波后图像
2.3运动模糊消除
PSF=fspecial('motion',len,theta);
Motion_Blur=imfilter(I,PSF,'circular','conv');
其中PSF为运动模糊算子,有两个参数,表示摄像物体逆时针方向以theta角度运动了len个像素,len的默认值为9,theta的默认值为0。
处理过程中分别采用维纳滤波,Lucy-Richardson滤波处理,但并没有达到想象中的效果,图像仍然存在模糊。
处理结果如下:
图12维纳和Lucy-Richardson处理后图像
2.4车牌号码识别
图13车牌号码识别算法流程
图14原始图像
首先将原始图像转化为灰度图像并提取其图像边界,处理结果如下图所示;
图15边界提取图像
利用腐蚀算子fushi=[1;1;1],将非车牌区域的噪声信息腐蚀掉,处理后如下图所示:
图16边界腐蚀后图形
选择方形闭环算子进行闭运算,处理后图像如下所示:
图17闭运算后图像
利用bwareaopen()函数将图像中的小于1800个像素点的区域去除,处理结果如下:
图18去除车牌号码以外区域
根据上图信息,确定号码的上下左右边界,分别得到上下左右的像素边界统计,分别如下所示:
图19车牌号码边界信息
最后在原图中提取车牌号码区域,处理结果如下图所示:
图20车牌号码提取
三、总结
在这次作业中学会了针对不同问题的图片采取相对应的方法,例如在椒盐噪声的消噪中利用中值滤波的效果比均值滤波要好的多,同时在车牌号的提取中体会到开运算,闭运算的效果,收获颇丰。
附录:
程序代码
2.1.1直方图均衡化
yuantu1=imread('C:
\Users\zhangkun\Desktop\4.bmp');
yuantu=rgb2gray(yuantu1);
figure
(1);
imhist(yuantu,256);
axis([025501e5]);title('原图直方图');
I=imadjust(yuantu,[0.390.7],[01.0]);
figure
(2);
imshow(I);
figure(3);
imhist(I,256);axis([025501e5]);title('直方图均衡化后的直方图');
2.1.2同态滤波
clear;
clc;
I=imread('C:
\Users\zhangkun\Desktop\6.jpg');
subplot(1,2,1);
imshow(I);
title('原图');
I=double(rgb2gray(I));
[M,N]=size(I);rL=0.3;
rH=2.0;c=2;
d0=10;
I1=log(I+1);
n1=floor(M/2);
n2=floor(N/2);
fori=1:
M
forj=1:
N
D(i,j)=((i-n1).^2+(j-n2).^2);
H(i,j)=(rH-rL).*(exp(c*(-D(i,j)./(d0^2))))+rL;%¸ß˹̬ͬÂ˲¨
end
end
I2=ifft2(H.*FI);I3=real(exp(I2));
subplot(122);
imshow(I3,[]);
title('同态滤波增强后')
2.2.1中值滤波
clear;
clc;
I=imread('C:
\Users\zhangkun\Desktop\6.jpg');
I=rgb2gray(I);
Y=medfilt2(I);
figure
(1);
imshow(Y);
title('中值滤波');
2.2.2高斯滤波
I=imread('C:
\Users\zhangkun\Desktop\2.bmp');
I=rgb2gray(I);
n3=20;
k=[11];
A2=fspecial('gaussian',k,n3);
Y5=filter2(A2,I)/255;
figure
(2)
imshow(Y5),title('高斯滤波');
2.3维纳滤波和Lucy-Richardson滤波
I=imread('C:
\Users\zhangkun\Desktop\7.tif');
figure
(1);
imshow(I);
len=8;
theta=pi;
PSF=fspecial('motion',len,theta);
Motion_Blur=imfilter(I,PSF,'circular','conv');
figure
(2);
imshow(Motion_Blur);
title('模糊图像');
J=deconvwnr(Motion_Blur,PSF);
figure
(2);imshow(J);title('维纳滤波');
BlurredC=imfilter(I,PSF,'symmetric','conv');
V=0.002;
BlurredNoisy=imnoise(BlurredC,'gaussian',0,V);
Luc=deconvlucy(BlurredNoisy,PSF,5);
figure(3);imshow(Luc);title('Lucy-Richardson滤波');
2.4车牌识别
I=imread('C:
\Users\zhangkun\Desktop\1.jpg');
I=rgb2gray(I);
I2=edge(I,'roberts');
figure
(1);imshow(I2);
fushi=[1;1;1];
I3=imerode(I2,fushi);
figure
(2);imshow(I3);
se1=strel('rectangle',[24,24]);
I4=imclose(I3,se1);
figure,imshow(I4);
I6=bwareaopen(I4,1800);
figure,imshow(I6);
[y,x,z]=size(I6);
i6=double(I6);
Y1=zeros(y,1);
forii=1:
y
forjj=1:
x
if(i6(ii,jj,1)==1)
Y1(ii,1)=Y1(ii,1)+1;
end
end
end
[temp,MaxY]=max(Y1);
figure,plot(1:
y,Y1);
PY1=MaxY;
while((Y1(PY1,1)>=50)&&(PY1>1))
PY1=PY1-1;
end
PY2=MaxY;
while((Y1(PY2,1)>=50)&&(PY2 PY2=PY2+1; end X1=zeros(1,x); forjj=1: x forii=PY1: PY2 if(i6(ii,jj,1)==1) X1(1,jj)=X1(1,jj)+1; end end end figure,plot(1: x,X1); PX1=1; while((X1(1,PX1)<15)&&(PX1 PX1=PX1+1; end PX2=x; while((X1(1,PX2)<15)&&(PX2>PX1)) PX2=PX2-1; end PX1=PX1-1; PX2=PX2+1; dw=I(PY1: PY2,PX1: PX2,: ); figure,imshow(dw);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图像 以及 车牌 识别