基于颜色 车牌定位 matlab,基于MATLAB的车牌定位

设计(论文)专用纸

3.1.3 基于灰度边缘检测方法

此类方法通常利用车牌区域局部对比度明显和灰度有规律变化的纹理特征来定位。中国车牌类型较多,在不同光照条件下车牌对比度更加不一,需要进行图像增强处理,还要考虑图像中与车牌特征非常相似的非车牌区域的排除问题。 (1)基于灰度直方图的门限化边缘检测

基于灰度直方图的门限化边缘检测是一种最常用、最简单的边缘检测方法。对 检测目标——背景图像中目标的边缘效果很好。这种图像的灰度直方图呈双峰状态。

(2)基于微分的边缘检测

1.基于差分的边缘检测 ①一阶差分边缘检测

对位于边缘两侧的点,像素点灰度值将发生急剧变化,因此有较大的差分值。当差分方向和边界方向垂直时将获得最大差分,因此,只要对f(i ,j) 各方向的差分值再进行一次门限化处理,即可检出边缘像素点,从而求得其边缘图像。

②二阶差分边缘检测

这是利用在图像的边缘处,灰度发生急剧变化这一特性,采用图像灰度值沿着确定方向(x,y或对角线)取二次差分后的某些性质进行边缘检测的。

2. 基于梯度的边缘检测

由于边缘发生在图像灰度值变化比较大的地方,对应连续情形就是函数梯度最大 的地方。Roberts算子、Prewitt算子和Sobel算子就是比较简单而常用的例子。还有一种比较直观的方法就是利用当前像素临域中的一些像素值拟合一个曲面,然后求这个连续曲面在该像素处梯度。从统计角度上说,我们可 以通过回归分析得到一个曲面,然后做类似的处理。

① Robert算子

在图 像中边缘的锐利程度是由图像的梯度来决定的。梯度是一个向量,o f指出梯度变化最快的方向和数量.

第 11 页

设计(论文)专用纸

(3-1)

② Prewitt算子和Sobel算子

1970 年左 右,Prewitt和Sobel分别提出7一个算子,即Prewitt算子Sobel算子。 Prewitt边缘检测算子使用两个有向算子(一个是水平的,一个是垂直的一般称为模版,每一个逼近一个偏导数):

(3-2)

Sobel算子和Prewitt算子的不同在于使用的模板不一样 :

(3-3)

对一些图像噪声结构,Sobel算子和Prewitt算子能产生比较好的结果,但是他们存在一些共同的问题:

A.检测结果对噪声很敏感,图像的离散差分对噪声比对原图像更敏感; B.可以通过对图像做平滑来改善结果,但是又会产生一个问题:会把一些靠在一起的边缘平滑掉,而且会影响对边缘的定位:

C.用上述模板卷积后得到的边缘可能是跨越好几个点而不是一个点:为了改善这个问题 ,还要做一些改进:边缘像素不只是要大于闽值,而且梯度方向上梯度的 大小要大于它的前者和后者,这个方法称之为非极值抑制.

③Canny边缘检侧算子

提起图像边缘检测就不得不提Canny准则及Canny算子。1986年JohnC anny提出了划时代的边缘检测的三条准则,并在此基础上得到了一个很不错的使用算法。Canny三准则:

A. 好的检测结果,或者说对边缘的错误检测率要尽可能的低:就是在图像上边 缘出现的地方检测结果不应该没有:另一方面也不要出现虚假边缘。这是因为所有用边缘检测做更深入工作的系统,它的性能依赖于边缘检测的误差 。

第 12 页

设计(论文)专用纸

B. 对边缘的定位要准确:检测出的边缘位置和图像上真正的边缘中心位置充分接近 。

C. 对同一边缘要有低的响应次数。

Canny还提出一种对噪声进行估计的使用方法。假设边缘信号的响应是比较少的而且是比较大的值而噪声的响应是很多但是值相对较小,那么阈值就可以通过滤波后的图像的统计累积直方图得到(实践数据表明取阈值为这个累积直方图的0.8,而Matlab取其0.7)。在Canny准侧的基础上,人们进行了更深入的研究,得到了很多的结果。

但是仅仅有一个阈值是不够的。由于噪声的影响边缘信号响应只有差不多一半大于这个阈值的,由此造成了斑纹现象,也就是边缘是断的.如果我们把这个阈值降低,我们往往发现出现错误的“边缘”。为了解决这个问题,Canny提出一种双阈值方法。前面利用累计统计直方图得到一个高阈值T,,然后再取一个低阈值Tz (Matlab6.5中使用的是T2=0.4T,)。如果图像信号的响应大于高阈值,那么它一定边缘;如果低于低阈值,那么它一定不是边缘;如果在低阈值和高阈值之间,我们就看它的8个邻接像素有没有大大于高阈值的边缘,如果有,则它是边缘。

3.1.4 基于彩色图像的车牌定位方法

目前的车牌分割受限于灰度图像,所以定位效果受阴影和光照条件的限制。由于人类视觉对彩色信息比较敏感,人眼能分辨的灰度只有20多级,而分辨的色彩却有35000种,彩色图像可以提供更多的视觉信息,有图像学者提出了利用车牌的颜色信息来搜索牌照,将处理对象改为彩色图像以求可以精确地定位车牌。

比如一些系统采用BP神经网络对彩色图像进行彩色分割,把每个像素通过网络学习归类为期望的颜色,然后利用水平和数值直方图的方法确定牌照的位置,但是当车牌区域颜色域附近颜色非常相似且牌照倾斜的情况下彩色定位分割错误将会增加。

但是基于彩色图像的定位算法最大的缺点是计算量和存储量都比较大,如基于神经网络的彩色图像车牌分割方法,此方法需要处理好网络局部收敛问题,定位时

第 13 页

设计(论文)专用纸

间长。此外当车牌区域颜色和附近颜色相似时,定位错误增加。

也有一些系统采用彩色边缘检测算子计算二值边缘图像,然后采用形态学方法来生成连通区域图像,再进行轮廓跟踪,通过标记候选牌照区域,得到n个候选牌照区域,最后对候选牌照进行分析与分解,进而提取牌照区域,但是当途中相似颜色区块较多时,定位速度会急剧下降。

也有的系统首先利用颜色信息对输入图像进行彩色粗分割,得到了颜色为车牌照的一些区域。然后将分割结果中的伪目标(即除了车牌区域以外的区域)分为两类(一类是与汽车牌照颜色相近的背景,一类是可能与牌照颜色相近的汽车外壳),分别进行处理,最终利用投影法得到准确的车牌位置。虽然这种方法的定位率比较准确,但是识别速度却很慢。

这类方法一般都是将输入的RGB彩色图像转换成HIS彩色图像,然后进行基于模糊逻辑或神经网络的色彩分割,再进一步定位车牌,计算量巨大。目前,基本上处于理论研究阶段,随着计算机运算速度的提高,应该逐步走向实用阶段。

上述4种方法中,基于直线检测的方法对我国车牌来讲并不完全适用,因为我国车牌的悬挂明显不够规范,有些车牌边框不够明显必然造成定位算法失效,如果结合别的算法则需要在本身运算量很大的情况下额外增加系统开销。车牌的最明显特点是其纹理特征,这样看来,在兼顾到实时心要求和定位成功率的情况下,基于灰度边缘检测的方法不失为一个理想选择。此外,基于颜色(提取像素点)的车牌定位也是比较普遍的定位方法。

3.2 车牌定位流程

本次毕业设计中所用的方法是基于图像的特征来做的,先初步确定车牌大致区域,再通过计算对车牌进行精确定位

流程图如图3-1所示:

第 14 页

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
车牌定位是计算机视觉领域中的一个重要问题。在MATLAB中,可以使用图像处理工具箱中的函数来实现车牌定位。 首先,需要将原始图像转换为灰度图像,并进行边缘检测。可以使用MATLAB中的imread、rgb2gray和edge函数来实现。 ```matlab I = imread('car.jpg'); gray = rgb2gray(I); edgeImg = edge(gray, 'sobel'); ``` 接下来,需要对边缘图像进行一系列形态学操作,以去除不需要的噪声和细节,并将车牌区域变成一个连通区域。可以使用MATLAB中的imclose、imfill和bwlabel函数来实现。 ```matlab se = strel('rectangle', [5 15]); closeImg = imclose(edgeImg, se); fillImg = imfill(closeImg, 'holes'); labelImg = bwlabel(fillImg); ``` 然后,可以通过检测连通区域的面积和长宽比等特征,筛选出可能的车牌区域。可以使用MATLAB中的regionprops函数来获取连通区域的属性。 ```matlab stats = regionprops(labelImg, 'Area', 'BoundingBox'); candidateRegions = []; for i = 1:length(stats) if stats(i).Area > 1000 && stats(i).BoundingBox(3)/stats(i).BoundingBox(4) > 2.5 candidateRegions = [candidateRegions stats(i).BoundingBox]; end end ``` 最后,可以将候选车牌区域显示在原始图像上,以便进行手动或自动识别。可以使用MATLAB中的rectangle函数来绘制矩形框。 ```matlab imshow(I); hold on; for i = 1:size(candidateRegions, 2) rectangle('Position', candidateRegions(:,i), 'EdgeColor', 'r', 'LineWidth', 2); end ``` 以上是基于MATLAB车牌定位问题的简单实现。当然,实际应用中还需要考虑更多因素,如光照、遮挡等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值