模板比较的车牌识别算法的研究与实现(5)

2019-04-02 14:04

山东轻工业学院2012届本科生毕业设计(论文)

本文采用加权平均值法,在公式的使用上对公式权值进行了精确的改动,使灰度化后的图像更加容易识别,提高了识别率。

4.1.2图像的灰度均衡 1、原理

由于白天和夜晚、晴天和阴天的光线强度有很大差异, 在某些情况下拍摄的牌照出现对比度不足的现象, 使图像的细节分辨不清, 严重干扰字符的识别。因此对于这类牌照必须进行图像增强, 而这种图像增强处理应尽量避免对正常的牌照产生干扰, 为此可采用基于点运算的图像增强方法, 即对图像的灰度级进行变换, 使图像对比度得到调整, 从而达到图像增强的目的。其中, 以直方图均衡法的实验效果最为理想, 他不仅使光照不均的牌照变得较为清晰, 而且对正常牌照进行同样的处理后也能得到较清晰的结果。直方图均衡是把已知灰度概率分布的图像, 经过变换最终演变成具有均匀灰度概率分布的图像。

设一幅图像的象素总数为N, 分为L个灰度级, 用NK代表灰度级rk 出现的频数, 于是第k 个灰度级出现的频率为:

Pr(rk) = NK?N, 0 ≤rk ≤1,k = 0, 1, 2?,L – 1 公式(4-2)

各灰度直方图均衡离散变换公式为:

Sk = T(rk) = ∑kj= 1Pr(rj) = ∑kj= 1NjN(1) 公式(4-3)

因此可以根据原图像的直方图统计量, 求得均衡后各象素的灰度变换值。

2、代码实现

unsafe {

byte* p = (byte*)(void*)Scan0; int nHeight = m_Bitmap.Height; int nWidth = m_Bitmap.Width; SumGray[0] = gray[0];//灰度均衡化

for (int i = 1; i < 256; ++i)//灰度级频度数累加 SumGray[i] = SumGray[i - 1] + gray[i]; for (int i = 0; i < 256; ++i)

SumGray[i] = (int)(SumGray[i] * 255 / count); for (int i = 0; i < 256; i++)

14

山东轻工业学院2012届本科生毕业设计(论文)

{

gray[i] = 0; }

for (int y = 0; y < nHeight; ++y) {

for (int x = 0; x < nWidth; ++x) {

tt = p[0] = p[1] = p[2] = (byte)(SumGray[p[0]]); gray[tt]++; p += 3; } } }

3、效果图

图4-3 灰度均衡后的图像

4、结果分析

本文采用直方图均衡化,把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布,对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同,把给定图像的直方图分布改变成“均匀”分布直方图分布。

4.1.3图像的高斯滤波 1、原理

高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理

15

山东轻工业学院2012届本科生毕业设计(论文)

的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。

高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。 一般的模板为3*3或5*5大小,其权值分布如下图:

图4-4 高斯滤波模板图

本文采用5*5的高斯滤波模板对图像进行去噪处理。

2、代码实现

int[,] gaussianMatrix = { { 1, 2, 3, 2, 1 }, { 2, 4, 6, 4, 2 }, { 3, 6, 7, 6, 3 }, { 2, 4, 6, 4, 2 }, { 1, 2, 3, 2, 1 } };//高斯滤波器所选的n=5模板

for (int y = 0; y < nHeight; ++y) {

for (int x = 0; x < nWidth; ++x) {

if (!(x <= 1 || x >= nWidth - 2 || y <= 1 || y >= nHeight - 2)) { pp = p; sum = 0; int dividend = 79; for (int i = -2; i <= 2; i++) for (int j = -2; j <= 2; j++) {

pp += (j * 3 + stride * i);

sum += pp[0] * gaussianMatrix[i + 2, j + 2]; if (i == 0 && j == 0) {

if(pp[0]>240)

{

16

山东轻工业学院2012届本科生毕业设计(论文)

sum += p[0] * 30; dividend += 30; }

else if (pp[0] > 230) {

sum += pp[0] * 20; dividend += 20; }

else if (pp[0] > 220) {

sum += p[0] * 15; dividend += 15; }

else if (pp[0] > 210) {

sum += pp[0] * 10; dividend += 10; }

else if (p[0] > 200) {

sum += pp[0] * 5; dividend += 5; } } pp = p; }

sum = sum / dividend; if (sum > 255) {

sum = 255; }

p[0] = p[1] = p[2] = (byte)(sum); } tt = p[0]; gray[tt]++;

17

山东轻工业学院2012届本科生毕业设计(论文)

p += 3; } }

3、效果图

图4-5 高斯滤波后的图像

4、结果分析

高斯滤波对随机噪声和高斯噪声(尤其是服从正态分布的噪声)的去除效果都比较好,能够有效除去采集过来时图片的随机噪声。

4.2 车牌定位模块

自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定牌照区域是整个识别过程的关键。首先对采集到的视频图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为牌照区域,并将其从图象中分割出来。

4.2.1 Sobel边缘检测 1、原理

Sobel算子包含两组3*3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A代表原始图像,Gx及Gy分别代表经横向及纵向边缘检测的图像,其公式如下:

??10?1???1?2?1??*A?0?*AGx???20?2]Gy?00????????10?1????1?2?1?? and 公式(4-4)

18


模板比较的车牌识别算法的研究与实现(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高级工知识要求试题4

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: