1、图像处理1.课设目的1) 加强对数字图像处理的理解2) 了解图像分割的基本原理和应用2.背景与基本原理2.1背景数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。图像分割是一种重要的图像技术,在理论研究和实际应用中都得到了人们的广泛重视。图像分割的方法和种类有很多,有些分割运算可直接应用于任何图像,而另一些只能适用于特殊类别的图像。有些算法需要先对图像进行粗分割,因为他们需要从图像中提取出来的信息。许多不同种类的图像或景
2、物都可作为待分割的图像数据,不同类型的图像,已经有相对应的分割方法对其分割,同时,某些分割方法也只是适合于某些特殊类型的图像分割。分割结果的好坏需要根据具体的场合及要求衡量。在本报告中是对车辆牌照中的文字和数字部分进行处理。2.2基本原理2.2.1基本概念图像分割(Image Segmentation)是指将图像中具有特殊涵义的不同区域区分开来,这些区域是互相不交叉的,每一个区域都满足特定区域的一致性。图像分割是图像识别和图像理解的基本前提步骤 2.2.2基本策略:(1)间断检测数字图像中三种基本类型的灰度级间断: 点、 线、 边。寻找间断的最一般的方法是:模板检测。图像中任一点的模板响应为:
3、(2)点检测用模板检测孤立点:如果RT,则称在模板中心位置已经检测到一个点。例: 1) R= (-1 * 8 * 8 + 128 * 8)/9=106 2) 可以设置阈值T = 643) 若R=0,则说明检测点与周围点像素值相同4) 若R T,则说明检测点与周围点像素值非常的不同,为孤立点(3)线检测通过比较典型模板的计算值,确定一个点是否在某个方向的线上设计其它模板:1) 模板系数之和为02) 感兴趣的方向系数值较大2.2.3边缘检测边缘是位于两个区域的边界线上的连续像素集合,一般而言,当人们看到有边缘物体时,首先感觉到的便是边缘,灰度或结构等信息的突变处称为边缘。边缘上的这种变化可以通过微
4、分算子进行检测:(1)一阶导数:通过梯度来计算-梯度锐化法:梯度是一个矢量,其大小为: 对于数字图像可以用差分来近似微分。其差分形式为: 梯度大小与相邻像素的灰度差成正比:灰度变化大则梯度值很大,灰度变化平缓则梯度值小,灰度无变化则梯度值为0.(2)二阶导数:通过拉普拉斯算子来计算定义:一个二元图像函数f(x,y)的拉普拉斯变换定义为:可以用多种方式表示为数字形式。对于一个3*3的区域,经验上推荐最多的形式是 拉普拉斯锐化前、 后图像的灰度 (a) 原图像灰度;(b) 拉普拉斯锐化后图像的灰度 2.2.4导数和噪声基于微分的边缘检测器,其基本依据是图像的边缘对应了一阶导数的极大值,而二阶导数则
5、过零点。但是,假如图像受到噪声的影响:。噪声的幅值往往很小,但频率往往很高,比如设:那么一阶导数和二阶导数分别为: 2.2.5高斯拉普拉斯(LOG)高斯拉普拉斯(Laplacian of Gaussian,LOG,或Mexican hat,墨西哥草帽)滤波器使用了Gaussian来进行噪声去除并使用 Laplacian来进行边缘检测 2.2.6边缘连接和边缘检测局部处理,确定边缘像素相似性的两个主要性质是:(1)用于生成边缘像素的梯度算子的响应强度E是非负门限 (2)梯度向量的方向 A是非负门限3.源代码3.1对于只有车牌无车身的图像:%预备处理clc; %擦去一一页命令窗口,光标回屏幕左上角
6、clear all; %图像的读入和初步处理im=imread(1.png);im1=rgb2gray(im);%江源彩色图像转换成灰度色图im1=medfilt2(im1,3 3); %用中值滤波的图像去噪 %对图像进一步处理,得到有用信息BW = edge(im1,sobel); %用edge函数获得灰度图像的边缘imx,imy=size(BW);%对于边缘获取信息,用size函数,获取数组的行数于列数。对于size函数中的两个输出%数,size函数将数组的行数返回到第一个输出变量imx,将数组的列数返回到第二个输出变%量imymsk=0 0 0 0 0; 0 1 1 1 0; 0 1 1
7、 1 0; 0 1 1 1 0; 0 0 0 0 0;B=conv2(double(BW),double(msk); %用二维卷积运算函数conv2平滑图像,减少连接数量L = bwlabel(B,8);% 计算连通,调用函数返回一个和B大小相同的L矩阵,包括标记了B中每个连通区域的类别标值mx=max(max(L)% 将有连通的MX。给予L一个1和mx之间的值或者在循环中可以提取所有连接组件 % 从储存阵列中提取图像figure,imshow(im);figure,imshow(im1);figure,imshow(B);3.2对于有车身和车牌连接的图像%预备处理clc; %擦去一一页命令窗
8、口,光标回屏幕左上角clear all; %图像的读入和初步处理im=imread(2.jpg);im1=rgb2gray(im);%江源彩色图像转换成灰度色图im1=medfilt2(im1,3 3); %用中值滤波的图像去噪 %对图像进一步处理,得到有用信息BW = edge(im1,sobel); %用edge函数获得灰度图像的边缘imx,imy=size(BW);%对于边缘获取信息,用size函数,获取数组的行数于列数。对于size函数中的两个输出参%数,size函数将数组的行数返回到第一个输出变量imx,将数组的列数返回到第二个输出变%量imymsk=0 0 0 0 0; 0 1 1
9、 1 0; 0 1 1 1 0; 0 1 1 1 0; 0 0 0 0 0;B=conv2(double(BW),double(msk); %用二维卷积运算函数conv2平滑图像,减少连接数量L = bwlabel(B,8);% 计算连通,调用函数返回一个和B大小相同的L矩阵,包括标记了B中每个连通区域的类别标值mx=max(max(L)% 将有连通的MX。给予L一个1和mx之间的值或者在循环中可以提取所有连接组件 % 对于车牌与车身连接的图像,给予17,,19,19,22,27,28至L用于提取完全车牌r,c = find(L=17);%用find函数查询非零元素的行和列 rc = r c;
10、 sx sy=size(rc);n1=zeros(imx,imy);%创建名为n1的imx行,imy列的零矩阵 for i=1:sx x1=rc(i,1); y1=rc(i,2); n1(x1,y1)=255;end % 从储存阵列中提取图像figure,imshow(im);figure,imshow(im1);figure,imshow(B);figure,imshow(n1,);4.处理结果4.1对于只有车牌无车身的图像:原图像处理后:总结:能够对图像基本信息进行简单分离。4.2对于有车身和车牌连接的图像原图像处理后总结:能够对图像进行分离,但是对于车身与车牌信息分离不理想,有待进一步改进。5.心得体会在这次数字图像处理的课程设计过程中,首先加深了我对于数字图像处理这门课程的认识,通过对相关知识的进一步了解和掌握,清楚的认识到这门课程在实际应用的广泛性。通过Matlab编程的过程之中,进一步掌握了Matlab的使用,明白了这个软件作为许多应用方向工具的强大之处,通过对一些小错误的改造还认识到了以往自己没有注意到的一些小的细节问题。数字图像处理课程设计 电 信 2 班 王 晶 080111023
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1