今天我们来聊聊[基于yuv车牌定位],以下8关于的观点希望能帮助到您找到想要的结果。
Srf是什么意思
热心用户提供:【念卿天涯】 ,解答(基于yuv车牌定位)的问题,欢迎阅读!
答SRF是数码相机的RAWDATA
打开方法
ImageAssist支持bmp,jpg,gif,png,mng,png,tiff,ico,tga,pcx,yuv444,yuv422,yuv420,raw,psd以及各品牌数码相机的raw data(orf,dcr,mrw,nef,srf,raf,x3f,erf,crw,pef)等各种文件格式的读写;
下载地址:
上文就是道尔智控小编分享贡献者:(念卿天涯)回答的关于“Srf是什么意思”的问题了,不知是否已经解决你的问题?如果没有,下一篇内容可能是你想要的答案,接下来继续谈谈下文用户【九生情i】分析的“matlab怎么设置水印图像”的一些相关疑问做出分析与解答,如果能找到你的答案,可以关注本站。

matlab怎么设置水印图像
本文贡献者:【九生情i】 ,解答(基于yuv车牌定位)的问题,欢迎阅读!
答3 视频水印的嵌入和检测方案
3.1水印的预处理
采用二值图像作为待嵌入的水印数据,本文针对的研究对象因为是二维图像故采用的是二维Arnold变换。
二维Arnold变换定义为:
(3-1)
其中,(x,y)是原图像的像素点,(x’,y’)是变换后新图像的像素点,N是图像阶数,即图像的尺寸大小,一般多为正方形图像。由于Arnold变换具有周期性,因此可利用其周期性Period来对图像进行反变换。即在水印嵌入过程中可将水印置乱次数作为密钥times,再进行水印嵌入,当水印提取出来时,再将其继续: (Period-times)次即可使其恢复至原图。这就是利用Arnold的正变换来进行的置乱恢复方案。Arnold变换次数由版权所有者保管。
对水印进行置乱有以下优点:
(1) 采用置乱技术的合法者可以自由控制算法的选择,参数的选择以及使用随机数技术,从而使非法使用者难以破译图像内容,可以提高水印信息的安全性;
(2) 置乱技术可以分散错误比特的分布,提高数字水印的视觉效果,从而增强其鲁棒性。
3.2 视频水印的嵌入
水印嵌入算法关键在于以下三点:
(1) 水印的结构;
(2) 水印的嵌入区域;
(3) 嵌入技巧;
本文选取二值图像作为水印。为了提高水印的鲁棒性,大多数的DCT域水印算法把水印信号嵌入到DCT系数的低频部分。但低频区域是图像的能量集中部分,嵌入到低频会降低透明性。而嵌入在高频虽然透明性比较好,但对大多数的图像处理对高频成分影响较大,从而降低水印的鲁棒性.于是大多数的水印算法将水印信号嵌入在载体图像DCT系数的中频部分,以达到透明性和鲁棒性的最佳折衷。各种嵌入技巧的最终目的还是为了尽量地提高水印的鲁棒性和透明性。
用于版权保护的数字水印在尽量提高鲁棒性的同时还要满足人类的视觉极限,因此必须根据HVS找到嵌入位置。
本文将HVS归纳为运动敏感性、纹理敏感性和亮度敏感性。在接下来的嵌入过程中,充分利用了这些特性。如图3-1中间分支所示。
嵌入过程如图3-1所示。
图3-1 水印嵌入过程
从视频中读取亮度分量Y,因为它是最有效的数据,根据NEC算法,嵌入到它里面的水印才具有最强的鲁棒性。根据式(3-2)所示的运动敏感性阈值计算公式,寻找32帧满足敏感性比较大的视频帧Yi (i=1,2,…32)。
(3-2)
其中 (t代表当前帧的编号)
接下来,将Y32中的数据按照64*64的尺寸切分成20块BYij (j=1,2,…20),于是我们可得到20块尺寸为64*64*32的三维数据块BYk (k=1,2,…20),如图2-3所示。
图3-2 亮度分量的分块
根据式(3-3)、式(3-4)所示的亮度敏感性Lk和纹理敏感性Dk计算公式,通过计算,我们选择计算值都比较高的20块数据中的一块 ( )作为水印的嵌入块。
(3-3)
(3-4)
其中, 是BYk中的亮度数据, 。
最后,折衷考虑复杂度和性能,我们对选定的一块数据块 实施了2阶三维DCT变换。根据NEC算法的思想,且为了抵抗滤波和压缩攻击,我们将置乱后的水印序列嵌入到了第一帧DCT系数c(u,v)中,详见式(3-5)。
(3-5)
其中,w(u,v)是水印序列中的数据,c(u,v)是DCT变换后第一帧中的系数,c’(u,v)是嵌入水印后的系数,S是非负整数(且满足T1=S/4, T2=3*T1)。
嵌入完成后,对c’(u,v)实施反2阶三维DCT变换就得到了嵌入水印后的视频数据,再将它们放回原来的位置即可。
需要说明的是,在整个嵌入过程中,所有用到的参数都应作为密钥保留。
具体方案如下所述:
第一步:抽取32帧视频Y分量数据:
(1) 读取视频文件;
(2) 提取所有的Y分量,把所有的Y分量分为32组;
(3) 每组4帧,从各组中选出一个最运动敏感的,判断每组中最大的Y_deltmax,存入变量m;
(4) 定位最大的Y_deltmax,存入变量w;
Y32是就是所需的视频帧中Y分量满足敏感性的32帧视频 (355*288*32)。
第二步:分块过程:
(1) 对行分块(4块);
(2) 对列分块(5块);
(3) 隔十帧取一帧,共从32帧中取4帧以降低运算量;
(4) 一个数一个数的赋值;
切成20块,每块为64*64*4的数据块BY,维数不同,只能逐个象素赋值。
第三步:根据公式计算数据块BY的亮度敏感性L和纹理敏感性D
第四步:选取L和D都比较大的一块嵌入水印
(1) 判断最大的L,存入变量Lm;
(2) 去掉这个最大的块再比较;
(4) 赋第一块的L的权重为20;
(5) 计算第2块到第20块的L的权重;
(6) 同理对D进行处理;
(7) 计算每块BY的权重;
(8) 对所有的20块BY的权重qz按由小到大的顺序进行排序,并保持原来的位置索引index,则index[20]就是所要选取的块;
第五步:三维DCT变换
由于视频是由图像数据流组成的,所以可以把视频的每一帧看作是一幅静止的图像。对运动图像序列进行3D-DCT,可以视为先对视频的每一帧进行2D-DCT,再对帧间方向进行1D-DCT。
第六步:嵌入水印数据
将置乱的水印序列嵌入所选的DCT系数中,即嵌入经过3D-DCT变换后的数据块中的第一帧数据中。然后把这些数据进行反3D-DCT变换后放回原位置。
第七步:将所选的数据放回原位置
最后一步:写视频文件
3.3视频水印的检测
水印提取是嵌入的逆过程,本算法的一大优势是,水印提取时无需原始视频数据的参与,但依然需要一些参数。它们是:
(1) 嵌入过程第四步产生的块BY的排序结果,由此我们可以得知水印的大致嵌入位置;
(2) 嵌入时指定的参数S;
(3) 需要Arnold变换的次数和周期;
获得了上面的各项参数,水印的提取就十分简单,具体过程如图3-3所示。
图3-3 水印盲提取过程
方案如下:
从待提取水印的视频数据 (可能是被攻击过后的视频)中抽取出亮度分量Y’,根据密钥,抽出32帧中的四帧亮度分量 ,然后分别从这组数据中提取水印。
在图3-3中,首先将 分隔成20块 ,并找到和 对应的 。然后,对 做二阶三维DCT变换,根据式(3-6)提取出水印数据 。
(3-6)
其中, 是DCT系数。
最后,我们将 进行Arnold变换,得到水印图像,作为最终提取出的水印。
具体步骤如下所述:
第一步:抽取32帧视频Y分量数据:
(1) 读取嵌入水印图像的视频文件;
(2) 提取所有的Y分量,把所有的Y分量分为32组;
(3) 每组4帧,从各组中选出一个最运动敏感的,判断每组中最大的Y_deltmax,存入变量m;
(4) 定位最大的Y_deltmax,存入变量w;
Y32是就是所需的视频帧中Y分量满足运动敏感性的32帧视频,Y32是一个355*288*32的三维数组。
第二步:分块过程:
(1) 对行分块(4块);
(2) 对列分块(5块);
(3) 隔十帧取一帧,从32帧中共取4帧以降低运算量;
(4) 一个数一个数的赋值;
切成20块,每块为64*64*4的数据块BY,维数不同,只能逐个象素赋值。
经过计算其亮度敏感性和纹理敏感性并排序,index[20]就是本文算法中嵌入水印的块;
第三步:三维DCT变换
第四步:Arnold变换
由于本算法中水印图像是二值图像,其Arnold变换是二维变换,周期是Period,嵌入水印时变换了times次,所以此处只需变换(Period-times)次就可得到结果。
第五步:写图像文件
提取水印图像数据并写成图像文件
第六步:检测水印图像存在与否,并与原水印图像比较。
最后一步:进行实验,验证本文算法的可见性和鲁棒性。
经过步骤就是水印图像信息嵌入视频中的方法,具体实现过程见第四章。
4 用MATLAB实现视频水印的嵌入和检测
Matlab是近年来在国内外广泛流行的一种可视化科学计算软件。它的特点是结构简单、数值计算高效、图形功能完备、图像处理方便,是国际公认的最优秀的科学计算与数学应用软件之一。利用Matlab实现数字水印图像算法便捷、高效,省去了繁琐的程序代码,避免了科研人员在编程上浪费精力。
其内容已涉及矩阵代数、微积分、应用数学、信号与系统、神经网络、小波分析及应用、数字图像处理、计算机图形学、自动控制与通信技术等诸多方面,是科学计算、系统仿真、信号与图像处理的主流软件,受到了各方科研人员的青睐,在数字水印技术中得到了广泛的应用。将Matlab应用于数字水印技术,其优点主要有以下几个方面:
(1) 强大的数值计算功能
视频水印技术是针对图像进行研究的,而图像是由矩阵表达的,将水印嵌入视频中及从视频中将水印提取出来都意味着大量的矩阵运算,而矩阵运算更是Matlab语言的核心,表达自然、直接。因此,利用Matlab强大的矩阵运算功能来实现图像水印技术非常合适。
(2) 方便的图像读取和显示功能
视频水印首先要将数据从视频中读取出来,嵌入水印后还要将嵌入水印后的数据还原为视频。Matlab为用户提供了专门的图像处理函数,用于读写显示图像数据。这种方法不像其他编程语言那样,需要编写复杂的代码,只需要简单地调用Matlab提供的函数即可,相关的函数及其功能主要有下列一些:
imread 将图像读入工作空间;
imwrite 将图像写入磁盘;
image 提供最原始的图像显示函数;
imshow 是最常用的显示各种图像的函数;
load将文件读入工作空间;
(3) 高效的图像变换功能
数字水印嵌入算法一般分空域方法和频域方法。空域方法指通过改变象素的亮度值来加入数字水印:频域方法指图像通过某种变换后再嵌入数字水印。与空域法相比,频域法具有如下优点:在变换域中嵌入的水印信号可以分布到空域的所有象素上,有利于保证水印的不可见性。在变换域中,视觉系统的某些特性(如视频特性)可以更方便地结合到水印编码过程中。变换域的方法可以与国际数据压缩标准兼容,从而实现压缩域内的水印编码。因此,变换域的方法应是水印算法未来趋势的主流。但是变换域的算法一般来讲计算量都比较大,需要复杂的编程运算,Matlab则改变了这种现状。在Matlab图像处理工具箱中,提供了常用的图像变换函数,复杂的变换域算法在Matlab中只需简单地调用函数即可实现,充分体现了使用Matlab的简便性和高效性。
主要图像变换函数如下:
dct是一维离散余弦变换;
idct是一维离散余弦逆变换;
dct2是二维离散余弦变换;
idct2是二维离散余弦逆变换;
(4) 丰富的图像处理函数
水印技术要求嵌入的水印不可见且有较强的鲁棒性。不可见性可通过视觉效果和计算图像的峰值信噪比来比较优劣,而鲁棒性则要对水印后图像进行各种攻击,通过比较攻击后图像提取出的水印情况来说明问题。Matlab有各种图像处理函数,可实现对图像的各种攻击。
综上所述,Matlab具有语言简洁、函数丰富、使用方便、数值计算高效等特点,将功能强大的Matlab软件应用于数字水印技术是有效的选择,因此,本文采用Matlab对图像水印进行研究。
4.1水印的嵌入过程
(1) 基于Arnold变换的图像置乱
Matlab实现如下:
Arnold变换由function r=Arnold(w0,row,colum,times) 实现,其中w0为读取的图像数据,row是行数,colum是列数,times是Arnold变换次数。
function r=Arnold(w0,row,colum,times)
for k=1:times
for i=1:row
for j=1:colum
i1=i+j;
j1=i+2*j;
if i1>row
i1=mod(i1,row);
end
if j1>colum
j1=mod(j1,colum);
end
if i1= =0
i1=row;
end
if j1= =0
j1=colum;
end
w1(i1,j1)=w0(i,j);
end
end
w0=w1;
end
r=w0;
用imwrite(w0,'Arnold.bmp', 'bmp')写置乱后的图像文件;在MATLAB中用imshow('Arnold.bmp')显示此图像。
本文采用二维的二值水印图像watermark.bmp,我们将图像数据(64*64)扫描到二维的矩阵中并实施Arnold变换,从而得到置乱后的二维矩阵。随着迭代次数的增加,图像逐渐趋于混乱,不过到一定次数时,又将回到原图。因为watermark.bmp大小为64*64,故经过试验图像迭代48次后将回到原图,即周期性Period=48。
本算法选择置乱8次,因为8次Arnold变换后原水印图像已经成为无形状的图像。实验结果表明,该方法能较好地刻划图像的置乱程度,与人的视觉基本相符。但需要指出的是不一定图像的置乱次数越多其置乱度就越高。所以,在水印嵌入时,为了提高其鲁棒性而增加置乱次数的方法是不科学的,合理的做法是计算置乱后图像的置乱度,达到较为满意的置乱度后就可停止置乱,避免盲目的提高置乱次数。
置乱次数作为密钥有视频版权所有者保管,如果非法所有者不知道置乱次数就很难恢复出原水印图像。
原水印图像如图4-1所示,本算法实现置乱8次后效果如图4-2所示:
图4-1 水印原图像 图4-2 置乱8次后
(2)Matlab实现嵌入过程:
本文中选取352×288×142的yuv格式视频流进行测试。YUV颜色模型是一种常用的颜色模型,其基本特征是将亮度信号与颜色信号分离,由于人眼对亮度的变化比对颜色的变化敏感,因此,YUV模型中Y分量的值所占带宽大于等于彩色分量所占带宽。YUV色彩空间模型可以在一定程度上避免RGB模型的高分散性和高相关性所带来的闭值划分问题,计算也较为简单。这种色彩空间模型中Y和UV分量是相互独立的,反映了人眼观察彩色的视觉规律,在实际中应用较多。其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V”表示的则是色度(Chrominan“或Chroma),作用是描述影像色彩及饱和度,用于指定像素颜色。因此选择YUV颜色空间更加稳定,易于分析。
本文选择测试视频中的第39帧如图4-3所示。YUV格式的视频中Y:U:V=4:2:2,但通俗叫“420”格式。
图4-3 未嵌入水印的视频
第一步:读取文件;
读取视频文件由[yuv,Y,u,v,num_f]=loadyuv(filename)实现,filename是所选取得视频文件名称。yuv是一个四维数组,它返回的是视频的yuv分量,Y是亮度分量,u和v是色彩分量,num_f是视频文件中所有帧的数目。
读取一帧数据的YUV分量在Matlab中由以下源代码实现:
function [YUV,Y,U,V] = loadFileYUV(width,heigth,Frame,fileName,format)
[Teil_h,Teil_b]=YUVFormat(format);
fileId = fopen(fileName,'r');
其中width:每一帧的宽度;heigth:每一帧的高度;Frame:当前load的那一帧;filename:视频文件名;Teil_h:垂直比例参数;Teil_b:水平比例参数;YUV:返回值,返回YUV分量,是一个三维变量,本文算法中将U、V分量的宽度和高度设成与Y一样的了,因此U、V分量中有重复的。YUV(:,:,1)存放Y分量;YUV(:,:,2)存放U分量;YUV(:,:,3)存放V分量;Y,U,V是三个分量的实际值,二维矩阵,没有重复,他们的长度可能不一样。
Y_delt(j)=delt(Y(:,:,w(i)),Y(:,:,4*(i-1)+j));
其中Y_delt是当前帧与下一组各帧的Y的差,m(i)=max(Y_delt(j));判断每组中最大的Y_deltmax,存入变量m,以此来得到每组中最运动敏感的视频帧。w(i+1)=4*(i-1)+k定位最大的Y_deltmax,存入变量w。
最后得到Y32=double(Y(:,:,w)), Y32是视频帧中Y分量满足敏感性的32帧视频是一个355*288*32的三维数组。
第二步:分块;
分块时因为需要块标号,由此造成维数不同,所以只能逐个象素赋值,在Matlab中由BY(t1,t2,t3,j*5+k+1)= double(Y32((64*j+t1),(64*k+t2),i))实现,切成20块,每块为64*64*4的数据块BY ,其中t1是块的杭坐标,t2是块的列坐标,t3帧标号,j*5+k+1是快标号。
第三步:三维DCT变换;
运动图像序列的每一帧可以看作是静止图像 对运动图像序列进行3D DCT,可以视为先对每帧进行2D DCT,再对帧间方向进行1D DCT。
%对每一块的帧间方向进行1D DCT变换
for i=1:64
for j=1:64
dcta(i,j,1:4,index(20))=dct(BY(i,j,1:4,index(20)));
end
end
%对每一块的每一帧进行2D DCT
for i=1:4
dct3a(:,:,i,index(20))=dct2(dcta(:,:,i,index(20)));
end
第四步:嵌入水印过程;
读入二值水印图像由message=double(imread('watermark.bmp'))实现 ,message是一个由0和1组成的二维数组。
将置乱的水印序列嵌入所选的dct系数中,源代码如下所示:
其中dct3a是DCT系数,index[20]是纹理敏感性和亮度敏感性都比较好的一块,S作为密钥由版权所有者保管。
S=60;
T1=S/4;
T2=3*T1;
for i=1:64
for j=1:64
if (w2(i,j)==1)
if (dct3a(i,j,1,index(20))>=0)
dipin(i,j)=dct3a(i,j,1,index(20))-mod(dct3a(i,j,1,index(20)),S)+T1;
end
if (dct3a(i,j,1,index(20))<0)
dipin(i,j)=dct3a(i,j,1,index(20))+mod(abs(dct3a(i,j,1,index(20))),S)-T1;
end
end
if (w2(i,j,:)==0)
if (dct3a(i,j,1,index(20))>=0)
dipin(i,j)=dct3a(i,j,1,index(20))-mod(dct3a(i,j,1,index(20)),S)+T2;
end
if (dct3a(i,j,1,index(20))<0)
dipin(i,j)=dct3a(i,j,1,index(20))+mod(abs(dct3a(i,j,1,index(20))),S)-T2;
end
end
end
end
第五步:三维DCT反变换;
先对块的第一帧进行二维DCT反变换,然后在对其它三帧进行二维反变换,最后对帧间方向进行一维DCT反变换。此过程由Matlab实现如下:
二维DCT反变换:
idcta(:,:,1,index(20))=idct2(dipin);
for i=2:4
idcta(:,:,i,index(20))=idct2(dct3a(:,:,i,index(20)));
end
对每一块的帧间方向进行一维DCT反变换
for i=1:64
for j=1:64
idct3a(i,j,1:4,index(20))=idct(idcta(i,j,1:4,index(20)));
end
end
第六步:把这些数据放入原位置;
第七步:写视频文件;
写视频文件由以下程序实现,其中fileId为写入视频文件的位置。
fileId = fopen('vectra_w.yuv','wb')
fwrite(fileId,Y(:,:,i)' , 'uchar');
fwrite(fileId,u(:,:,i)' , 'uchar');
fwrite(fileId,v(:,:,i)' , 'uchar');
效果如图4-4所示:
图4-4 嵌入水印的视频
4.2水印的检测过程
水印的检测过程就是嵌入水印的逆过程,其Matlab实现如下所示:
filename='vectra_w.yuv';此文件是对含有水印的视频(可能是被攻击过后的视频)文件。
[yuv,Y,u,v,num_f]=loadyuv(filename);
读取视频文件和三维DCT正变换其原理和嵌入过程相同,此处不再赘述。
提取水印数据在Matlab中由以下程序实现,其中S、T1、T2等都是嵌入时的密钥,版权所有者拥有它。
for i=1:64
for j=1:64
if (mod(abs(dct3b(i,j,1,index(20))),S)<((T1+T2)/2))
shuiyin(i,j)=1;
end
if (mod(abs(dct3b(i,j,1,index(20))),S)>=((T1+T2)/2))
shuiyin(i,j)=0;
end
end
end
Arnold反变换如下所示:
w0=shuiyin;
w2=Arnold(w0,Hm,Wm,40);
w0是检测到的水印数据,Hm和Wm是水印数据的行和列,变换次数为40。
写水印文件,检测水印图像存在与否,并且和原水印图像有无差异。
imwrite(w2,'恢复.bmp', 'bmp');
imshow('恢复.bmp');
综上,水印的嵌入主要经过将视频和水印分别进行预处理,然后根据嵌入算法选择水印的合适嵌入位置以及合理嵌入策略,从而得到含水印的视频数据。在各个环节中采用HVS特性来提高视频水印的鲁棒性.最后用相应的视频水印检测策略提取出水印从而实现视频的保护。结果显示本文算法能成功提取出水印图像。
以上就是道尔智控小编解疑贡献者:(九生情i)回答的关于“matlab怎么设置水印图像”的问题了,不知是否已经解决你的问题?如果没有,下一篇内容可能是你想要的答案,接下来继续浅析下文用户【乐秀家族潮人】解答的“灰度图像数据如何分析”的一些相关问题做出分析与解答,如果能找到你的答案,可以关注本站。
灰度图像数据如何分析
热心用户提供:【乐秀家族潮人】 ,解答(基于yuv车牌定位)的问题,欢迎阅读!
答二值化的阈值你怎么确定的 matlab里面的T=graythresh()确定的阈值是Otsu方法确定的 效果是可以的 车辆旁边的干扰因素可以在二值化后用数字图像的形态学膨胀腐蚀以及开运算和闭运算去掉
如果要算车辆在图像中的面积可以边缘检测之后和形态学处理后的图像联合处理并做掩模运算基本可分割出来车辆的目标以及整个车辆的区域
以上就是道尔智控小编解答(乐秀家族潮人)分析关于“灰度图像数据如何分析”的答案,接下来继续为你详解用户(禁他于心~*)解答“无法定位程序输入点SDL-UpdateYUVTexture于动态链接库SDL2.dll上”的一些相关解答,希望能解决你的问题!
无法定位程序输入点SDL-UpdateYUVTexture于动态链接库SDL2.dll上
热心用户提供:【禁他于心~*】 ,解答(基于yuv车牌定位)的问题,欢迎阅读!
答这个提示是缺少SDL2.dll。你可以去SDL官网下载这个文件,放到C:\windows\system32文件夹下。如果这一步完成后,可以运行了,那就好了。
但是可能还缺少别的动态链接库,重装系统后一些注册表信息也可能丢失了。所以,重装一下游戏更靠谱。
以上就是道尔智控小编解答(禁他于心~*)回答关于“无法定位程序输入点SDL-UpdateYUVTexture于动态链接库SDL2.dll上”的答案,接下来继续为你详解用户(久而旧之ヘ﹋)分析“3dmax模型做好后怎么用”的一些相关解答,希望能解决你的问题!
3dmax模型做好后怎么用
热心用户提供:【久而旧之ヘ﹋】 ,解答(基于yuv车牌定位)的问题,欢迎阅读!
答靠,一楼太猛了,想要分也不能这样呀,楼主我给你说怎么办,你把分给我吧,关键是我不误导你!
1。我看你的视图是前视图,所以在前视图的空白区点击右键,在菜单中选择“unfreeze all”也就是取消所有冻结。
2.然后选择你用红框框住的哪一堆东西,注意!要让他变成白色(选不中?,用框选的,把他全框住)
3.轻松的按一下键盘上的"Delete"也就是删除。
你的问题就解决了。
上文就是道尔智控小编解疑贡献者:(久而旧之ヘ﹋)解答的关于“3dmax模型做好后怎么用”的问题了,不知是否已经解决你的问题?如果没有,下一篇内容可能是你想要的答案,接下来继续论述下文用户【→_姐的范儿】分享的“matlab使用filter求单位脉冲响应”的一些相关疑问做出分析与解答,如果能找到你的答案,可以关注本站。
matlab使用filter求单位脉冲响应
本文贡献者:【→_姐的范儿】 ,解答(基于yuv车牌定位)的问题,欢迎阅读!
答肯定对 望
3.1水印的预处理
采用二值图像作为待嵌入的水印数据,本文针对的研究对象因为是二维图像故采用的是二维Arnold变换。
二维Arnold变换定义为:
(3-1)
其中,(x,y)是原图像的像素点,(x’,y’)是变换后新图像的像素点,N是图像阶数,即图像的尺寸大小,一般多为正方形图像。由于Arnold变换具有周期性,因此可利用其周期性Period来对图像进行反变换。即在水印嵌入过程中可将水印置乱次数作为密钥times,再进行水印嵌入,当水印提取出来时,再将其继续: (Period-times)次即可使其恢复至原图。这就是利用Arnold的正变换来进行的置乱恢复方案。Arnold变换次数由版权所有者保管。
对水印进行置乱有以下优点:
(1) 采用置乱技术的合法者可以自由控制算法的选择,参数的选择以及使用随机数技术,从而使非法使用者难以破译图像内容,可以提高水印信息的安全性;
(2) 置乱技术可以分散错误比特的分布,提高数字水印的视觉效果,从而增强其鲁棒性。
3.2 视频水印的嵌入
水印嵌入算法关键在于以下三点:
(1) 水印的结构;
(2) 水印的嵌入区域;
(3) 嵌入技巧;
本文选取二值图像作为水印。为了提高水印的鲁棒性,大多数的DCT域水印算法把水印信号嵌入到DCT系数的低频部分。但低频区域是图像的能量集中部分,嵌入到低频会降低透明性。而嵌入在高频虽然透明性比较好,但对大多数的图像处理对高频成分影响较大,从而降低水印的鲁棒性.于是大多数的水印算法将水印信号嵌入在载体图像DCT系数的中频部分,以达到透明性和鲁棒性的最佳折衷。各种嵌入技巧的最终目的还是为了尽量地提高水印的鲁棒性和透明性。
用于版权保护的数字水印在尽量提高鲁棒性的同时还要满足人类的视觉极限,因此必须根据HVS找到嵌入位置。
本文将HVS归纳为运动敏感性、纹理敏感性和亮度敏感性。在接下来的嵌入过程中,充分利用了这些特性。如图3-1中间分支所示。
嵌入过程如图3-1所示。
图3-1 水印嵌入过程
从视频中读取亮度分量Y,因为它是最有效的数据,根据NEC算法,嵌入到它里面的水印才具有最强的鲁棒性。根据式(3-2)所示的运动敏感性阈值计算公式,寻找32帧满足敏感性比较大的视频帧Yi (i=1,2,…32)。
(3-2)
其中 (t代表当前帧的编号)
接下来,将Y32中的数据按照64*64的尺寸切分成20块BYij (j=1,2,…20),于是我们可得到20块尺寸为64*64*32的三维数据块BYk (k=1,2,…20),如图2-3所示。
图3-2 亮度分量的分块
根据式(3-3)、式(3-4)所示的亮度敏感性Lk和纹理敏感性Dk计算公式,通过计算,我们选择计算值都比较高的20块数据中的一块 ( )作为水印的嵌入块。
(3-3)
(3-4)
其中, 是BYk中的亮度数据, 。
最后,折衷考虑复杂度和性能,我们对选定的一块数据块 实施了2阶三维DCT变换。根据NEC算法的思想,且为了抵抗滤波和压缩攻击,我们将置乱后的水印序列嵌入到了第一帧DCT系数c(u,v)中,详见式(3-5)。
(3-5)
其中,w(u,v)是水印序列中的数据,c(u,v)是DCT变换后第一帧中的系数,c’(u,v)是嵌入水印后的系数,S是非负整数(且满足T1=S/4, T2=3*T1)。
嵌入完成后,对c’(u,v)实施反2阶三维DCT变换就得到了嵌入水印后的视频数据,再将它们放回原来的位置即可。
需要说明的是,在整个嵌入过程中,所有用到的参数都应作为密钥保留。
具体方案如下所述:
第一步:抽取32帧视频Y分量数据:
(1) 读取视频文件;
(2) 提取所有的Y分量,把所有的Y分量分为32组;
(3) 每组4帧,从各组中选出一个最运动敏感的,判断每组中最大的Y_deltmax,存入变量m;
(4) 定位最大的Y_deltmax,存入变量w;
Y32是就是所需的视频帧中Y分量满足敏感性的32帧视频 (355*288*32)。
第二步:分块过程:
(1) 对行分块(4块);
(2) 对列分块(5块);
(3) 隔十帧取一帧,共从32帧中取4帧以降低运算量;
(4) 一个数一个数的赋值;
切成20块,每块为64*64*4的数据块BY,维数不同,只能逐个象素赋值。
第三步:根据公式计算数据块BY的亮度敏感性L和纹理敏感性D
第四步:选取L和D都比较大的一块嵌入水印
(1) 判断最大的L,存入变量Lm;
(2) 去掉这个最大的块再比较;
(4) 赋第一块的L的权重为20;
(5) 计算第2块到第20块的L的权重;
(6) 同理对D进行处理;
(7) 计算每块BY的权重;
(8) 对所有的20块BY的权重qz按由小到大的顺序进行排序,并保持原来的位置索引index,则index[20]就是所要选取的块;
第五步:三维DCT变换
由于视频是由图像数据流组成的,所以可以把视频的每一帧看作是一幅静止的图像。对运动图像序列进行3D-DCT,可以视为先对视频的每一帧进行2D-DCT,再对帧间方向进行1D-DCT。
第六步:嵌入水印数据
将置乱的水印序列嵌入所选的DCT系数中,即嵌入经过3D-DCT变换后的数据块中的第一帧数据中。然后把这些数据进行反3D-DCT变换后放回原位置。
第七步:将所选的数据放回原位置
最后一步:写视频文件
3.3视频水印的检测
水印提取是嵌入的逆过程,本算法的一大优势是,水印提取时无需原始视频数据的参与,但依然需要一些参数。它们是:
(1) 嵌入过程第四步产生的块BY的排序结果,由此我们可以得知水印的大致嵌入位置;
(2) 嵌入时指定的参数S;
(3) 需要Arnold变换的次数和周期;
获得了上面的各项参数,水印的提取就十分简单,具体过程如图3-3所示。
图3-3 水印盲提取过程
方案如下:
从待提取水印的视频数据 (可能是被攻击过后的视频)中抽取出亮度分量Y’,根据密钥,抽出32帧中的四帧亮度分量 ,然后分别从这组数据中提取水印。
在图3-3中,首先将 分隔成20块 ,并找到和 对应的 。然后,对 做二阶三维DCT变换,根据式(3-6)提取出水印数据 。
(3-6)
其中, 是DCT系数。
最后,我们将 进行Arnold变换,得到水印图像,作为最终提取出的水印。
具体步骤如下所述:
第一步:抽取32帧视频Y分量数据:
(1) 读取嵌入水印图像的视频文件;
(2) 提取所有的Y分量,把所有的Y分量分为32组;
(3) 每组4帧,从各组中选出一个最运动敏感的,判断每组中最大的Y_deltmax,存入变量m;
(4) 定位最大的Y_deltmax,存入变量w;
Y32是就是所需的视频帧中Y分量满足运动敏感性的32帧视频,Y32是一个355*288*32的三维数组。
第二步:分块过程:
(1) 对行分块(4块);
(2) 对列分块(5块);
(3) 隔十帧取一帧,从32帧中共取4帧以降低运算量;
(4) 一个数一个数的赋值;
切成20块,每块为64*64*4的数据块BY,维数不同,只能逐个象素赋值。
经过计算其亮度敏感性和纹理敏感性并排序,index[20]就是本文算法中嵌入水印的块;
第三步:三维DCT变换
第四步:Arnold变换
由于本算法中水印图像是二值图像,其Arnold变换是二维变换,周期是Period,嵌入水印时变换了times次,所以此处只需变换(Period-times)次就可得到结果。
第五步:写图像文件
提取水印图像数据并写成图像文件
第六步:检测水印图像存在与否,并与原水印图像比较。
最后一步:进行实验,验证本文算法的可见性和鲁棒性。
经过步骤就是水印图像信息嵌入视频中的方法,具体实现过程见第四章。
4 用MATLAB实现视频水印的嵌入和检测
Matlab是近年来在国内外广泛流行的一种可视化科学计算软件。它的特点是结构简单、数值计算高效、图形功能完备、图像处理方便,是国际公认的最优秀的科学计算与数学应用软件之一。利用Matlab实现数字水印图像算法便捷、高效,省去了繁琐的程序代码,避免了科研人员在编程上浪费精力。
其内容已涉及矩阵代数、微积分、应用数学、信号与系统、神经网络、小波分析及应用、数字图像处理、计算机图形学、自动控制与通信技术等诸多方面,是科学计算、系统仿真、信号与图像处理的主流软件,受到了各方科研人员的青睐,在数字水印技术中得到了广泛的应用。将Matlab应用于数字水印技术,其优点主要有以下几个方面:
(1) 强大的数值计算功能
视频水印技术是针对图像进行研究的,而图像是由矩阵表达的,将水印嵌入视频中及从视频中将水印提取出来都意味着大量的矩阵运算,而矩阵运算更是Matlab语言的核心,表达自然、直接。因此,利用Matlab强大的矩阵运算功能来实现图像水印技术非常合适。
(2) 方便的图像读取和显示功能
视频水印首先要将数据从视频中读取出来,嵌入水印后还要将嵌入水印后的数据还原为视频。Matlab为用户提供了专门的图像处理函数,用于读写显示图像数据。这种方法不像其他编程语言那样,需要编写复杂的代码,只需要简单地调用Matlab提供的函数即可,相关的函数及其功能主要有下列一些:
imread 将图像读入工作空间;
imwrite 将图像写入磁盘;
image 提供最原始的图像显示函数;
imshow 是最常用的显示各种图像的函数;
load将文件读入工作空间;
(3) 高效的图像变换功能
数字水印嵌入算法一般分空域方法和频域方法。空域方法指通过改变象素的亮度值来加入数字水印:频域方法指图像通过某种变换后再嵌入数字水印。与空域法相比,频域法具有如下优点:在变换域中嵌入的水印信号可以分布到空域的所有象素上,有利于保证水印的不可见性。在变换域中,视觉系统的某些特性(如视频特性)可以更方便地结合到水印编码过程中。变换域的方法可以与国际数据压缩标准兼容,从而实现压缩域内的水印编码。因此,变换域的方法应是水印算法未来趋势的主流。但是变换域的算法一般来讲计算量都比较大,需要复杂的编程运算,Matlab则改变了这种现状。在Matlab图像处理工具箱中,提供了常用的图像变换函数,复杂的变换域算法在Matlab中只需简单地调用函数即可实现,充分体现了使用Matlab的简便性和高效性。
主要图像变换函数如下:
dct是一维离散余弦变换;
idct是一维离散余弦逆变换;
dct2是二维离散余弦变换;
idct2是二维离散余弦逆变换;
(4) 丰富的图像处理函数
水印技术要求嵌入的水印不可见且有较强的鲁棒性。不可见性可通过视觉效果和计算图像的峰值信噪比来比较优劣,而鲁棒性则要对水印后图像进行各种攻击,通过比较攻击后图像提取出的水印情况来说明问题。Matlab有各种图像处理函数,可实现对图像的各种攻击。
综上所述,Matlab具有语言简洁、函数丰富、使用方便、数值计算高效等特点,将功能强大的Matlab软件应用于数字水印技术是有效的选择,因此,本文采用Matlab对图像水印进行研究。
4.1水印的嵌入过程
(1) 基于Arnold变换的图像置乱
Matlab实现如下:
Arnold变换由function r=Arnold(w0,row,colum,times) 实现,其中w0为读取的图像数据,row是行数,colum是列数,times是Arnold变换次数。
function r=Arnold(w0,row,colum,times)
for k=1:times
for i=1:row
for j=1:colum
i1=i+j;
j1=i+2*j;
if i1>row
i1=mod(i1,row);
end
if j1>colum
j1=mod(j1,colum);
end
if i1= =0
i1=row;
end
if j1= =0
j1=colum;
end
w1(i1,j1)=w0(i,j);
end
end
w0=w1;
end
r=w0;
用imwrite(w0,'Arnold.bmp', 'bmp')写置乱后的图像文件;在MATLAB中用imshow('Arnold.bmp')显示此图像。
本文采用二维的二值水印图像watermark.bmp,我们将图像数据(64*64)扫描到二维的矩阵中并实施Arnold变换,从而得到置乱后的二维矩阵。随着迭代次数的增加,图像逐渐趋于混乱,不过到一定次数时,又将回到原图。因为watermark.bmp大小为64*64,故经过试验图像迭代48次后将回到原图,即周期性Period=48。
本算法选择置乱8次,因为8次Arnold变换后原水印图像已经成为无形状的图像。实验结果表明,该方法能较好地刻划图像的置乱程度,与人的视觉基本相符。但需要指出的是不一定图像的置乱次数越多其置乱度就越高。所以,在水印嵌入时,为了提高其鲁棒性而增加置乱次数的方法是不科学的,合理的做法是计算置乱后图像的置乱度,达到较为满意的置乱度后就可停止置乱,避免盲目的提高置乱次数。
置乱次数作为密钥有视频版权所有者保管,如果非法所有者不知道置乱次数就很难恢复出原水印图像。
原水印图像如图4-1所示,本算法实现置乱8次后效果如图4-2所示:
图4-1 水印原图像 图4-2 置乱8次后
(2)Matlab实现嵌入过程:
本文中选取352×288×142的yuv格式视频流进行测试。YUV颜色模型是一种常用的颜色模型,其基本特征是将亮度信号与颜色信号分离,由于人眼对亮度的变化比对颜色的变化敏感,因此,YUV模型中Y分量的值所占带宽大于等于彩色分量所占带宽。YUV色彩空间模型可以在一定程度上避免RGB模型的高分散性和高相关性所带来的闭值划分问题,计算也较为简单。这种色彩空间模型中Y和UV分量是相互独立的,反映了人眼观察彩色的视觉规律,在实际中应用较多。其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V”表示的则是色度(Chrominan“或Chroma),作用是描述影像色彩及饱和度,用于指定像素颜色。因此选择YUV颜色空间更加稳定,易于分析。
本文选择测试视频中的第39帧如图4-3所示。YUV格式的视频中Y:U:V=4:2:2,但通俗叫“420”格式。
图4-3 未嵌入水印的视频
第一步:读取文件;
读取视频文件由[yuv,Y,u,v,num_f]=loadyuv(filename)实现,filename是所选取得视频文件名称。yuv是一个四维数组,它返回的是视频的yuv分量,Y是亮度分量,u和v是色彩分量,num_f是视频文件中所有帧的数目。
读取一帧数据的YUV分量在Matlab中由以下源代码实现:
function [YUV,Y,U,V] = loadFileYUV(width,heigth,Frame,fileName,format)
[Teil_h,Teil_b]=YUVFormat(format);
fileId = fopen(fileName,'r');
其中width:每一帧的宽度;heigth:每一帧的高度;Frame:当前load的那一帧;filename:视频文件名;Teil_h:垂直比例参数;Teil_b:水平比例参数;YUV:返回值,返回YUV分量,是一个三维变量,本文算法中将U、V分量的宽度和高度设成与Y一样的了,因此U、V分量中有重复的。YUV(:,:,1)存放Y分量;YUV(:,:,2)存放U分量;YUV(:,:,3)存放V分量;Y,U,V是三个分量的实际值,二维矩阵,没有重复,他们的长度可能不一样。
Y_delt(j)=delt(Y(:,:,w(i)),Y(:,:,4*(i-1)+j));
其中Y_delt是当前帧与下一组各帧的Y的差,m(i)=max(Y_delt(j));判断每组中最大的Y_deltmax,存入变量m,以此来得到每组中最运动敏感的视频帧。w(i+1)=4*(i-1)+k定位最大的Y_deltmax,存入变量w。
最后得到Y32=double(Y(:,:,w)), Y32是视频帧中Y分量满足敏感性的32帧视频是一个355*288*32的三维数组。
第二步:分块;
分块时因为需要块标号,由此造成维数不同,所以只能逐个象素赋值,在Matlab中由BY(t1,t2,t3,j*5+k+1)= double(Y32((64*j+t1),(64*k+t2),i))实现,切成20块,每块为64*64*4的数据块BY ,其中t1是块的杭坐标,t2是块的列坐标,t3帧标号,j*5+k+1是快标号。
第三步:三维DCT变换;
运动图像序列的每一帧可以看作是静止图像 对运动图像序列进行3D DCT,可以视为先对每帧进行2D DCT,再对帧间方向进行1D DCT。
%对每一块的帧间方向进行1D DCT变换
for i=1:64
for j=1:64
dcta(i,j,1:4,index(20))=dct(BY(i,j,1:4,index(20)));
end
end
%对每一块的每一帧进行2D DCT
for i=1:4
dct3a(:,:,i,index(20))=dct2(dcta(:,:,i,index(20)));
end
第四步:嵌入水印过程;
读入二值水印图像由message=double(imread('watermark.bmp'))实现 ,message是一个由0和1组成的二维数组。
将置乱的水印序列嵌入所选的dct系数中,源代码如下所示:
其中dct3a是DCT系数,index[20]是纹理敏感性和亮度敏感性都比较好的一块,S作为密钥由版权所有者保管。
S=60;
T1=S/4;
T2=3*T1;
for i=1:64
for j=1:64
if (w2(i,j)==1)
if (dct3a(i,j,1,index(20))>=0)
dipin(i,j)=dct3a(i,j,1,index(20))-mod(dct3a(i,j,1,index(20)),S)+T1;
end
if (dct3a(i,j,1,index(20))<0)
dipin(i,j)=dct3a(i,j,1,index(20))+mod(abs(dct3a(i,j,1,index(20))),S)-T1;
end
end
if (w2(i,j,:)==0)
if (dct3a(i,j,1,index(20))>=0)
dipin(i,j)=dct3a(i,j,1,index(20))-mod(dct3a(i,j,1,index(20)),S)+T2;
end
if (dct3a(i,j,1,index(20))<0)
dipin(i,j)=dct3a(i,j,1,index(20))+mod(abs(dct3a(i,j,1,index(20))),S)-T2;
end
end
end
end
第五步:三维DCT反变换;
先对块的第一帧进行二维DCT反变换,然后在对其它三帧进行二维反变换,最后对帧间方向进行一维DCT反变换。此过程由Matlab实现如下:
二维DCT反变换:
idcta(:,:,1,index(20))=idct2(dipin);
for i=2:4
idcta(:,:,i,index(20))=idct2(dct3a(:,:,i,index(20)));
end
对每一块的帧间方向进行一维DCT反变换
for i=1:64
for j=1:64
idct3a(i,j,1:4,index(20))=idct(idcta(i,j,1:4,index(20)));
end
end
第六步:把这些数据放入原位置;
第七步:写视频文件;
写视频文件由以下程序实现,其中fileId为写入视频文件的位置。
fileId = fopen('vectra_w.yuv','wb')
fwrite(fileId,Y(:,:,i)' , 'uchar');
fwrite(fileId,u(:,:,i)' , 'uchar');
fwrite(fileId,v(:,:,i)' , 'uchar');
4.2水印的检测过程
水印的检测过程就是嵌入水印的逆过程,其Matlab实现如下所示:
filename='vectra_w.yuv';此文件是对含有水印的视频(可能是被攻击过后的视频)文件。
[yuv,Y,u,v,num_f]=loadyuv(filename);
读取视频文件和三维DCT正变换其原理和嵌入过程相同,此处不再赘述。
提取水印数据在Matlab中由以下程序实现,其中S、T1、T2等都是嵌入时的密钥,版权所有者拥有它。
for i=1:64
for j=1:64
if (mod(abs(dct3b(i,j,1,index(20))),S)<((T1+T2)/2))
shuiyin(i,j)=1;
end
if (mod(abs(dct3b(i,j,1,index(20))),S)>=((T1+T2)/2))
shuiyin(i,j)=0;
end
end
end
Arnold反变换如下所示:
w0=shuiyin;
w2=Arnold(w0,Hm,Wm,40);
w0是检测到的水印数据,Hm和Wm是水印数据的行和列,变换次数为40。
写水印文件,检测水印图像存在与否,并且和原水印图像有无差异。
imwrite(w2,'恢复.bmp', 'bmp');
imshow('恢复.bmp');
综上,水印的嵌入主要经过将视频和水印分别进行预处理,然后根据嵌入算法选择水印的合适嵌入位置以及合理嵌入策略,从而得到含水印的视频数据。在各个环节中采用HVS特性来提高视频水印的鲁棒性.最后用相应的视频水印检测策略提取出水印从而实现视频的保护。结果显示本文算法能成功提取出水印图像。
5 实验结果与分析
对水印的性能建立合理的评估方法和基准是数字水印研究的一个重要内容。对视频水印的评估主要包括以下两方面:嵌入水印对视频引起的失真的主观和客观定量评估;水印鲁棒性的评估。一般而言,在水印的不可见性和鲁棒性之间需要进行折中。因此为了能够进行公平合理的性能评估,我们必须尽量保证水印系统是在可比较的条件下进行测试,即应该在给定视频视觉可见性要求的前提下进行测试。本文中首先对水印的不可见性进行测试,然后对其鲁棒性进行测试。
以上就是道尔智控小编分享贡献者:(→_姐的范儿)回答的关于“matlab使用filter求单位脉冲响应”的问题了,不知是否已经解决你的问题?如果没有,下一篇内容可能是你想要的答案,现在接着继续探讨下文用户【如果没结果】分析的“课程设计车牌识别心得”的一些相关疑问做出分析与解答,如果能找到你的答案,可以关注本站。
课程设计车牌识别心得
热心用户提供:【如果没结果】 ,解答(基于yuv车牌定位)的问题,欢迎阅读!
答我找到了,哈哈。团体音讯就不上传了,只传关键的。 嵌入式汽车身份自动识别系统 一、项目引见(研讨目的、研讨背景及现状、任务原理和计划想象、计划进度布置等) 见附录。二、项目自我评价 1、激进性:在数字音讯技术和网络技术高速开展的后PC时期,随着嵌入式处置器功用的不时提高,高功用的处置器曾经能满意繁杂算法运用和其他繁杂功用运用,嵌入式将不可避以免走进各个范畴。另一方面,随同着我国经济的快速开展和北京奥运会的举行,“交通智能化”将不用质疑的成为抢手话题。由于交通行业的特地性,其对ITS装备的技术参数、运用条件都有刻薄的央求,而嵌入式恰恰可以满意此央求,因此嵌入式智能交通装备的大范围运用是肯定趋向。嵌入式汽车身份自动识别系统是智能化交通管理系统的主要组成部分,是嵌入式技术与汽车身份识别技术的完美别离,他涵盖了嵌入式车牌识别、嵌入式车标识别以及汽车颜色识别三大主体功用,力图将汽车目的一次性锁定。它具有以下优点: 1、高度独立:运用嵌入式技术,仅经过通讯接口与运用系统衔接,独立性高。 2、功用完全:同时识别汽车车牌、车标及颜色,一次性锁定目的,具有现有系统所没有的弱小功用。 3、可塑性强:前端可与信号触发装置等下游产品别离,末端内置无线网络及多种串口接口以便与下游产品别离。系统功用与运用范围失掉极大拓展。 4、易于维护:修缮、维护仅触及本系统而不影响其他模块,维护利息远低于同类产品。 5、便携灵敏:装备高度集成,小巧灵敏,运用便当。 2、可操作性和可完成性:目前,车牌识别、车标识别等技术日趋幼稚与完美,相关资料较易获取。现有的嵌入式技术也比拟幼稚。故,从技术难度上讲该选题较于其他的前沿迷信繁杂完成。选题所触及的装备和资料也较易取得,且利息适中。 3、创新点:现有的车牌识别装置一般运用电脑处置数据,有些甚至需求若干台电脑协作完成,占用少量空间与资源。即使偶有由嵌入式完成的系统其功用也仅限于车牌识别或车标识别。本系统发明性地将嵌入式与车牌识别、车标识别以及汽车颜色识别相别离,一次性处置了目前装备体系臃肿、集成难度大、动摇性差,维护难,功用繁多等效果。 4、可能具有的效果:目前,主要效果是嵌入式集成度及无线传输的距离。我们所想象的梦想状况是:针对往常大多运用电脑零件处置数据,装备灵敏性差的缺陷,开拓出便携式、数据可无线传输的汽车身份识别系统。但是由于我们时间、精神和资金的限制,“便携的水平”是目前最大的难题。另外车速与景深对图像识别的影响效果也是我们可能会面对的难题。 三、预期效果 (效果的详细方式,如:央求专利、公开拓表论文、制造科技实物(含软件顺序)等,可以同时有多种效果方式) 我们估量我们的实验效果有以下几个方面。首先,我们计划制造出科技实物,即确实地完成该嵌入式系统,拿出实真实在的效果。第二,从我们对市场现状的剖析来看,该嵌入式汽车身份识别系统的市场前景十分失望,故可以将我们的产品央求专利并投入市场停止消费。第三方面,由于汽车颜色、车牌、车标的组合识别还没有适宜的算法,所以在完利息系统的进程中我们不可避免的要完成算法想象,而这部分红果可以经过公开拓表论文的方式停止展现。由于我们计划完成一个系统,所以我们需求同时完成该系统的硬件和软件两个部分。从大的角度来看,软件及算法部分的效果可以经过论文宣布,而硬件方面的效果则可以经过投入消费和央求专利来表现。无疑,我们的效果方式会比只做软件部分或许只做硬件部分的选题多。这也是我们的一大优势。实验环境央求 经费预算 形式 用途 预算金额 估量实施时间 CCD摄像部分 前端图像的获取,购置摄像头或摄像机 3000 07。12~ 08。2月 辅佐光源 针对特地环境停止光线补充 1500 07。12~ 08。2月 图像采集卡 模拟信号数字化 2500 07。12~ 08。2月 嵌入式系统硬件装备 图像的处置 4000 08。3~ 08。10月 硬盘录像机 视频音讯的存储 2500 08。10~ 08。12月 显现装置 输入图像识别结果 1500 08。12~ 09。2月 无线收发或有线传输装置 音讯的传输 2500 09。 2~ 09。3月 机械加工 机械零件装配成样机 2000 最后阶段 算计:19500元 学院审批见地 专家委员会评审见地 学校审批见地 附录一:选题的现状、背景及意义自1885年,世界上第一台汽车降生至今,汽车为我们日常任务与生活的带来了翻天覆地的影响。一百多年来,汽车以其价钱昂贵,操作便当等优势逐渐被群众所接受,走入了千家万户。在我国,每年都有许多人参与有车一族。随之而来的自然是越来越快速便当的生活方式以及由此引发的一系列效果:汽车偷盗案每年逾万,交通事故时有发生……无疑,汽车需求规范管理。往常,我国的大部分汽车管理任务都是由人来操作完成的。不难想象,面对越来越庞大的汽车队伍,野生操作清楚的力不从心。所以“交通智能化”将成为未来交通管理的肯定趋向。要完成交通智能化怎样可以没有“汽车身份”的识别呢。早在上个世纪九十年代初,汽车身份识别曾经惹起了全世界的普遍注重,人们末尾研讨相关汽车身份证——汽车牌照自动识别的相关效果。几年后,汽车的另一个主要的身份意味——汽车标志识别也成为了抢手话题。车牌识别的一般路途为:采用计算机图象处置技术对车牌停止剖析后自动提取车牌音讯以肯定车牌号。车标识别则基于边缘直方图和模板婚配相联系数混合的算法。目前车牌与车标识别的实际曾经幼稚,离线算法识别率曾经抵达较高的水平,同时正向着集成化、智能化方向开展。在智能化交通管理系统中,汽车身份识别相当于vc++中的“基类”位置,即智能化交通管理系统中的其他子模块需求在汽车身份识别的根底上停止承袭和开展。所以我们以为,汽车身份识别央求较高的集成度,最好能由可以嵌入到其他系统中的、集成度高的模块来完成,如单片机、CPLD。而现阶段的汽车身份识别大部分却是依托计算机来完成的。另外,由于汽车身份识别的“基类”定位,运用时对“能否独一的锁定汽车”以及“能否很快地判定是哪辆车”就有了肯定的央求。而现阶段的汽车身份识别却仅依托纯粹的识别车牌来完成。市场上具有的也多是车牌或是车标的独自识别系统,将二者别离的系统则十分稀有。而这些繁多的系统清楚很难抵达真正的识别锁定汽车身份的手段。别离智能化交通管理系统的央求,现今汽车身份识别的现状以及二者的开展趋向,我们小组选择了嵌入式汽车身份自动识别系统作为我们本次创新实验计划的选题。我们计划以嵌入式完成汽车身份识别后,将处置完的数字音讯传递到智能化交通管理系统的其他模块中。用嵌入式替代电脑处置汽车身份识别将大大提高智能化交通管理系统的集成度,降低利息。区别于繁多的识别系统,我们想象完成的汽车身份识别系统将车牌识别与车标识别相别离,并辅以汽车颜色识别。同时识别,同时输入,从而从多方面区分并锁定汽车,力图抵达万无一失。从而极大地便当了该系统在各个范畴的运用。公安交管范畴,该嵌入式汽车身份自动识别系统可被运用在交管系统中。将本产品嵌入到用来测速、测超载的其他交通装备中,就可以完成一系列的管理任务;与终端电脑处置系统相连,传输的是曾经经过处置的数字音讯而非图片音讯,大小俭省了终端电脑的处置时间和内存空间,提高反应与处置效率,有效处置交管范畴人手缺乏的现状。在园区车辆管理方面,本嵌入式汽车身份自动识别系统将留有端口,使其可以与园区的业主入住时所注销的汽车音讯库相连。在园区大门处,装置我们的车牌自动识别系统,以对进出车辆自动识别,然后将数据传到数据库并依据数据库中的车牌数据区分能否是园区内的车辆,然后分状况处置。这将大大增加园区汽车的平安系数,而运用该系统的利息远低于运用电脑处置的系统的利息。关于停车场管理,我们的嵌入式车牌自动识别系统可以完成智能化管理进程。将系统装置在停车场的出、入口处,用来对进出停车场的车辆停止自动识别,而处置后的数据将传入终端电脑,由终端电脑别离传入的音讯与数据库区分能否属已买(或租)车位的车辆做出相应处置。综上,我们有理由置信我们计划完成的嵌入式车牌自动识别系统可以在未来的交通智能化管理系统中发扬举足轻重的作用,是值得去研讨和探求的。 附录二:任务原理及计划想象本汽车身份识别系统包括车牌识别、车色以及车标的识别,本系统将运用嵌入式系统完成此三部分的识别。由于我们刚接触这部分形式,所以想法不是很幼稚。下面将分车牌识别与车色、车标识别以及嵌入式三个部分引见我们的任务原理和计划。 第一部分:车牌识别 1、总体构造 车牌自动识别系统主要分为三大模块:(1)触发:即前端装备的数据入口处,如测速系统等。(2)图像处置部分:分为图像采集、车牌定位、字符联系和字符识别四部分。(3)无线传输系统将所处置得的数据传送至后端运用系统,如交通违规管理系统,只能停车场系统,安检系统等。 2、算法部分 ①前端CCD摄像机: 原始图像获取由CCD摄像机及辅佐照明装置组成。获取图像质量的好坏直接影响到后端处置和识别的效果。 要取得比拟清楚的图像, 需求思索许多影响图像质量的要素, 主要包括: 摄像头和图像卡的选取, 摄像机的位置标定, 汽车的车速, 出入单位的汽车车队之间的距离, 天气、光线等状况对摄像机所摄图像曝光量的影响。 区分能否有车辆进入观测区采用图像差值法来区分监测区能否有目的进入,即首先将视频图像灰度化,然后比拟两幅图像对应像素点的灰度值,看能否有变化以及变化有几。图像差分只能测定监测区中能否有物体经过,但它能否交通车辆,尚未可知。鉴于图像差分所发生的噪声、行人、自行车比汽车所占区域小得多,想象尺度滤波器将尺度较小的物体及噪声滤掉。 ②车牌定位及预处置左图为车牌定位的主要算法。完成根本的车牌定位后,还需求对车牌停止一些根本的预处置。包括倾斜矫正与铆钉和边框的去除。 I、车牌字符的倾斜矫正车牌字符联系的难点在有些车牌是倾的,直接联系效果不好,需求做校正。首先求出车牌的倾斜率,依据此斜率对车牌做旋转校正。 II、车牌边框和铆钉的去除先验知识:关于规范车牌,字符间间距为12mm,第2、3个字符间间距为34mm,其中,中间小圆点l0mm宽,小圆点与第2、3个字符间间距辨别为12mm。在车牌边框线的内侧,一般有四个铆钉,他们不同水平地与第2个字符或第6个字符粘连,假设不去除铆钉,将给第2和第6在字符的识别形成艰难。将车牌图像停止二值化后,图像仅黑、白二值。红色像素点(灰度值255)取1,黑色像素点(灰度值0)取0,这里采用的是白底黑字形式。对车牌图像逐行停止从外向外式扫描,当扫描到车牌图像某一行中,红色像素点的宽度大于某一阀值时(第一个契合条件的行),则以为是车牌字符的边沿处,切除这一行或以下的一切行。 ③车牌字符联系右图为车牌字符联系的主要算法。在此,由于我们的知识有限就不对这些算法做详细引见了。 ④字符识别方法字符识别是车牌识别的中心部分。罕见的车牌字符识别算法包括六种。我们将他们罗列在右图中。其中,我们比拟感兴味的是基于神经网络的字符识别算法。下面,我们详细引见两种比拟繁杂且普遍的算法以及基于神经网络的字符识别算法。 I、模板婚配车牌字符识别 中国车牌的字符模板分为汉字、英文字母和数字模板,由统计方法构造并保管到数据库中。模板婚配是将字符模板和规范化了的车牌字符停止婚配来识别字符。 II、特征婚配车牌字符识别 车牌识别的方法中,可应用的字符特征很多,大致可以分为构造特征、象素散布特征及其他特征。在这里,我们拟重点突破神经网络法,由于野生神经网络技术具有非线性描画、大范围并行散布处置才干、高度鲁棒性和自进修与联想等特性,适用于非线性时变大系统的模拟与在线掌握。详细方法如下图所示: 此外,我们还会尝试将各种算法别离起来,以扬长避短,如:将遗传算法与野生神经网络别离起来,既能应用遗传算法能并行计算且能快速、全局搜寻的优点又能克制神经网络固有的搜寻慢且易堕入部分旱热的缺陷等。 由于我们还在大学二年级进修专业根底课程,对图像处置的最新算法还不够了解,我们会在实践操作进程中,选择一种最优的计划并且别离我们的系统特征提出改良见地。 第二部分:车色以及车标识别 ①、车身颜色识别颜色特征具有对图像自身的尺寸、方向、视角等依赖小、鲁棒性高等优点,因此在基于形式的图像索引技术和智能交通系统以及众多的I业(如造纸、纺织、印刷等)系统中有着极端主要的运用。临时以来,由于各种缘由,人们提出了数量众多的黑色空间模型,主要可分为三类:第一类是基于人类视觉系统(HumanV isionS ystem,H VS)的黑色空间,它包括RGB,H SI,M unsell黑色空间等;第二类是基于特定运用的黑色空间,它包括电视系统中所采用的YUV和YIQ、摄影行业如柯达的YCC、打印系统的CMY (K)黑色空间;第三类是CIE黑色空间(包括CIE XYZ, CIE Lab和CIE Luv等)。这些黑色空间各有优缺陷,它们在各自的范畴里发扬了主要的作用。我们拟采用RGB黑色空间完成我们的系统。RGB黑色空间在计算机相关范畴里运用普遍,例如用于罕见的CRT显现器等。在RGB黑色空间中,各黑色值用R、G、B三通道值的组合来独自表示,而其相应的通道值是经过图形采集卡或许CCD传感器等相似器件中的光感受器来取得的。其中,各通道值用入射光及其相应光感受器的光敏函数值之和来表示: R= G= B= 其中,S (A)是光谱,R(A)、G(A)和B(A)辨别是R,G,B传感器的灵敏度函数。从上式可以看出,该黑色空间是装备相关的,它与详细捕捉装备的光敏函数相关。但是,由于RGB值易于取得和在计算机中计算和表示,因此一般可以用来表示其他各黑色空间,即把RGB值转换为其他黑色空间值。RGB黑色空间的规范色差定义为: )由于不同的黑色对人客观感受的影响不同,为了更好的表示色差,在本颜色识别子系统中运用阅历色差公式: 关于我们拟想象的车身颜色识别系统主要分以下四大方法完成车身颜色识别 1.识别区域的选取为了准确识别出车身颜色,识别区域的选取至关主要。本实验选取车脸前部接近排气扇的部分 2.颜色直方图计算对所选区域,计算出现次数最多的颜色。在实践运用中,由于其他黑色空间模型的重量值均可用RGB值来表示,为了计算烦琐,在计算颜色直方图时可仅针对RGB黑色空间模型停止。 3.色差计算依据相应黑色空间模型的色差计算公式,计算其与 颜色模板间的色差。 4、颜色识别在失掉样本性与规范色在各个黑色空间模型中的对应色差后,就可以依据其结果停止颜色识别。即选取前一步计算失掉的色差中的最小值,作为识别结果。 ②、车标识别部分不用质疑,车牌和车标的自动、实时识别是活动车辆类型准确识别系统中至关主要的两个部分。目先人们曾经提出了众多的车牌定位算法,主要可以分为两大类:基于黑色图像的车牌定位算法和基于黑色图像的车牌定位算法。基于黑色图像的车牌定位算法又可以分为多类,如基于特征的车牌定位算法基于自顺应能量滤波的车牌定位算法,基于小波变换和形状学处置相别离的车牌定位算法,基于二值投影的车牌定位算法,以及基于遗传算法的车牌定位算法等。这些车牌定位算法各有优缺陷,但他们都可以在肯定水平上作为车标定位的参考。车标定位与识别不论在国际还是国外都是一个较为崭新的范畴。由于车标自身固有的特地性:目的小、相似性大、受尺寸和光照影响大、背景不一致,以及不同汽车公司的车标外形大小不一致等,使得其精肯定位识别成为一个难点。我们将车标识别分为以下几个主要方法: (l)车牌定位:依据车牌的纹理特征,基于多区分率剖析快速获取车牌区域 ; (2)车头定位:依据车头区域能量较高且较为集合的特性,经过OTSU二值化算法 进 行 图像二值化,然后应用二值投影,并别离车牌位置音讯停止车头快速定位 ; (3)中轴定位:在车头区域内,依据轴对称性定位车头中轴; (4)车标粗定位:在定位出车头的根底上,依据车标与车牌的先验知识,失掉车标阅历搜矩形; (5)车标精肯定位:在第(4)步的根底上,应用车标纹理特征停止车标的精肯定位。主要包括两步:一是依据车标区域在垂直方向上具有能量高且相对集合的特性,应用能量增强和自顺应形状学滤波停止车标的一次定位;二是应用改良的模板婚配算法停止车标的精肯定位。车标识别系统是活动车辆识别系统中的主要组成部分,与车牌识别一样,它也包括了定位和识别两项关键技术。 上图为车标识别系统构造示希图,与典型的目的识别系统一样,它包括了离线的锻炼进程和在线的识别进程。在锻炼进程中,首先将手工采集失掉的车标样本停止图像归一化、尺度归一化等预处置,然后辨别停止模板提取以失掉车标规范模板库。车标规范模板库中的模板不只用于车标定位,还用于停止特征提取以失掉车标特征模型库用于车标识别。在定位进程中,除了输入汽车图像外,还需输入车牌的位置音讯。这是由于各类车标不具有动摇的纹理特征,且大小、外形各不相同,所以在繁杂的背景下直接应用特征婚配或模板婚配停止车标定位是十分艰难的。因此必需应用车牌位置、车辆对称性等先验音讯停止粗定位,在此根底上再应用相关图像处置技术和模板婚配停止精肯定位。车标定位以后,车标识别效果就转化为一个2D外形的识别效果,这可以经过模板婚配的方法完成。但是在实践采集的图像中,经常具有光照、噪声、部分遮挡和外形相似等效果的影响,惯例的模板婚配方法难以抵达满意的识别效果。因此一般还需求一种适宜的特征提取和识别方法来辅佐停止车标识别,以提高系统的识别率。 第三部分:嵌入式依照历史性、实质性、普遍性央求,嵌入式系统应定义为:“嵌入到对象体系中的公用计算机系统”。“嵌入性”、“公用性”与“计算机系统”是嵌入式系统的三个根本要素。对象系统则是指嵌入式系统所嵌入的宿主系统。 嵌入式系统的中心是嵌入式微处置器,它有4个优点: (1) 对实时和多义务有很强的支持才干,能完成多义务并且有较短的中缀照应时间,从而使外部的代码和实时操作系统的实施时间增加到最低限制; (2) 具有功用很强的存储区维护功用。 (3) 可扩展的处置器构造,可以快速地扩展出满意运用的高功用的嵌入式微处置器; (4) 嵌入式微处置器的功耗很低,特地是用于便携式的无线及移动的计算和通讯装备中靠电池供电的嵌入式系统更是如此,功耗只能为 mW甚至μ W级,这关于动力越来越稀缺高尚的时期,无疑是十分诱人的。另外,嵌入式实时操作系统提高了系统的可靠性。这些都值得我们去做一个嵌入式车牌识别系统。 思索到一般车牌以及车标识别算法的运算量大,同时又要满意实时性央求。因此,我们准备采用32位ARM嵌入式微处置器作为中心单元,以CPLD作为时序掌握单元,采用基于ARM 9 S3C 241 C的嵌入式图像采集处置系统,在内嵌Linux操作系统的草础上,充沛应用了ARM器件体积小、才干强以及功耗低的特性,完成并行数据总线。USB日接口图像接入、图像快速处置、图像音讯的外地紧缩存储和IP化数数据传输。该系统可使整个系统简化电路并且增加占用资源。系统想象形成 整个系统由USB图像采集子系统,ARM处置子系统和网络数据传输子系统成摄像头采集现场视频数据经过U SB传输至ARM处置板;ARM处置板内嵌Linux操作系统,采用快速图像算法对图像序列停止处置,并依据处置结果采取相应的措施;网络传输子系统可以处置数据上传监控中心做进一步后续处置,系统构造下图所示。 ARM图像处置子系统拟采用S3C 2410处置器,能满意图像处置的央求;USB图像接入,可以保证图像传输;扩展64M SD RAM与64M Flash,大容量的RAM可以保管多幅图像,便于图像的剖析与处置;无线网络接口完成了数据音讯的网络化管理。 当然,只是我们的初步想象这些想象都将在我们以后的少量实验进程中失掉论证和优化! 附录三:计划进度与布置计划进度布置: 1。用约15天时间买一些实验所需的根本用品。 2。应用课余时间进修所需知识。 3。用约七个月时间完成编程,处置软件方面效果。 4。用约一年完成硬件方面,并制造样机。 5。初步检查,破费约一个月。 6。以六个月时间调试样机,觉察缺陷并矫正。重复实验,直至抵达一个令人满意的水平。综上,我们是计划用两年左右的时间拿下这个项目。当然,只是大致计划,以后会随实验的实践进度停止妥当调整。 答复时间:2011-10-24 7:56:47
以上就是道尔智控小编分享贡献者:(如果没结果)贡献的关于“课程设计车牌识别心得”的问题了,不知是否已经解决你的问题?如果没有,下一篇内容可能是你想要的答案,现在接着继续讨论下文用户【无情为安】回答的“中国在哪些其他国家有大型项目”的一些相关疑问做出分析与解答,如果能找到你的答案,可以关注本站。
中国在哪些其他国家有大型项目
本文贡献者:【无情为安】 ,解答(基于yuv车牌定位)的问题,欢迎阅读!
答我找到了,哈哈。个人信息就不上传了,只传关键的。
嵌入式汽车身份自动识别系统
一、项目介绍
(研究目标、研究背景及现状、工作原理和方案设想、计划进度安排等)
见附录。
二、项目自我评价
1、先进性:
在数字信息技术和网络技术高速发展的后PC时代,随着嵌入式处理器性能的不断提高,高性能的处理器已经能满足复杂算法应用和其他复杂功能应用,嵌入式将不可避免得走进各个领域。另一方面,伴随着我国经济的快速发展和北京奥运会的举行,“交通智能化”将毋庸质疑的成为热门话题。由于交通行业的特殊性,其对ITS设备的技术参数、使用条件都有苛刻的要求,而嵌入式恰好能够满足此要求,因此嵌入式智能交通设备的大范围应用是必然趋势。嵌入式汽车身份自动识别系统是智能化交通管理系统的重要组成部分,是嵌入式技术与汽车身份识别技术的完美结合,他涵盖了嵌入式车牌识别、嵌入式车标识别以及汽车颜色识别三大主体功能,力求将汽车目标一次性锁定。
它拥有以下优点:
1、高度独立:使用嵌入式技术,仅通过通信接口与应用系统连接,独立性高。
2、功能齐全:同时识别汽车车牌、车标及颜色,一次性锁定目标,具有现有系统所没有的强大功能。
3、可塑性强:前端可与信号触发装置等上游产品结合,末端内置无线网络及多种串口接口以便与下游产品结合。系统功能与使用范围得到极大拓展。
4、易于维护:修理、维护仅涉及本系统而不影响其他模块,维护成本远低于同类产品。
5、便携灵活:设备高度集成,小巧灵活,使用方便。
2、可操作性和可实现性:
目前,车牌识别、车标识别等技术日趋成熟与完善,相关资料较易获取。现有的嵌入式技术也比较成熟。故,从技术难度上讲该选题较于其他的前沿科学容易实现。选题所涉及的设备和材料也较易获得,且成本适中。
3、创新点:
现有的车牌识别装置一般使用电脑处理数据,有些甚至需要若干台电脑合作完成,占用大量空间与资源。即使偶有由嵌入式完成的系统其功能也仅限于车牌识别或车标识别。本系统创造性地将嵌入式与车牌识别、车标识别以及汽车颜色识别相结合,一次性解决了目前设备体系臃肿、集成难度大、稳定性差,维护难,功能单一等问题。
4、可能存在的问题:
目前,主要问题是嵌入式集成度及无线传输的距离。我们所设想的理想情况是:针对现在大多使用电脑整机处理数据,设备灵活性差的缺点,开发出便携式、数据可无线传输的汽车身份识别系统。但是由于我们时间、精力和资金的限制,“便携的程度”是目前最大的难题。另外车速与景深对图像识别的影响问题也是我们可能会面对的难题。
三、预期成果
(成果的具体形式,如:申请专利、公开发表论文、制作科技实物(含软件程序)等,可以同时有多种成果形式)
我们预计我们的实验成果有以下几个方面。
首先,我们计划制作出科技实物,即确实地完成该嵌入式系统,拿出实实在在的成果。
第二,从我们对市场现状的分析来看,该嵌入式汽车身份识别系统的市场前景非常乐观,故可以将我们的产品申请专利并投入市场进行生产。
第三方面,由于汽车颜色、车牌、车标的组合识别还没有合适的算法,所以在完成本系统的过程中我们不可避免的要完成算法设计,而这部分成果可以通过公开发表论文的形式进行展示。
因为我们计划完成一个系统,所以我们需要同时完成该系统的硬件和软件两个部分。从大的角度来看,软件及算法部分的成果可以通过论文发表,而硬件方面的成果则可以通过投入生产和申请专利来体现。无疑,我们的成果形式会比只做软件部分或者只做硬件部分的选题多。这也是我们的一大优势。
实验环境要求
经费预算 内容 用途 预算金额 预计执行时间
CCD摄像部分 前端图像的获取,购买摄像头或摄像机 3000 07.12~ 08.2月
辅助光源 针对特殊环境进行光线补充 1500 07.12~ 08.2月
图像采集卡 模拟信号数字化 2500 07.12~ 08.2月
嵌入式系统硬件设施 图像的处理 4000 08.3~ 08.10月
硬盘录像机 视频信息的存储 2500 08.10~ 08.12月
显示装置 输出图像识别结果 1500 08.12~ 09.2月
无线收发或有线传输装置 信息的传输 2500 09. 2~ 09.3月
机械加工 机械零件组装成样机 2000 最后阶段
合计:19500元
学院审批意见
专家委员会评审意见
学校审批意见
附录一:选题的现状、背景及意义
自1885年,世界上第一台汽车诞生至今,汽车为我们日常工作与生活的带来了翻天覆地的影响。一百多年来,汽车以其价格低廉,操作方便等优势逐渐被大众所接受,走入了千家万户。在我国,每年都有许多人加入有车一族。随之而来的自然是越来越快捷方便的生活方式以及由此引发的一系列问题:汽车盗窃案每年逾万,交通事故时有发生……无疑,汽车需要规范管理。现在,我国的大部分汽车管理工作都是由人来操作完成的。不难想象,面对越来越庞大的汽车队伍,人工操作明显的力不从心。所以“交通智能化”将成为未来交通管理的必然趋势。
要实现交通智能化怎么可以没有“汽车身份”的识别呢。早在上个世纪九十年代初,汽车身份识别已经引起了全世界的广泛重视,人们开始研究有关汽车身份证——汽车牌照自动识别的相关问题。几年后,汽车的另一个重要的身份象征——汽车标志识别也成为了热门话题。车牌识别的一般途径为:采用计算机图象处理技术对车牌进行分析后自动提取车牌信息以确定车牌号。车标识别则基于边缘直方图和模板匹配相关系数混合的算法。目前车牌与车标识别的理论已经成熟,离线算法识别率已经达到较高的水平,同时正向着集成化、智能化方向发展。
在智能化交通管理系统中,汽车身份识别相当于vc++中的“基类”地位,即智能化交通管理系统中的其他子模块需要在汽车身份识别的基础上进行继承和发展。所以我们认为,汽车身份识别要求较高的集成度,最好能由可以嵌入到其他系统中的、集成度高的模块来完成,如单片机、CPLD。而现阶段的汽车身份识别大部分却是依靠计算机来完成的。
另外,由于汽车身份识别的“基类”定位,使用时对“能否唯一的锁定汽车”以及“能否很快地判定是哪辆车”就有了一定的要求。而现阶段的汽车身份识别却仅依靠单纯的识别车牌来完成。市场上存在的也多是车牌或是车标的单独识别系统,将二者结合的系统则非常罕见。而这些单一的系统显然很难达到真正的识别锁定汽车身份的目的。
结合智能化交通管理系统的要求,现今汽车身份识别的现状以及二者的发展趋势,我们小组选择了嵌入式汽车身份自动识别系统作为我们本次创新实验计划的选题。我们计划以嵌入式完成汽车身份识别后,将处理完的数字信息传递到智能化交通管理系统的其他模块中。用嵌入式代替电脑处理汽车身份识别将大大提高智能化交通管理系统的集成度,降低成本。区别于单一的识别系统,我们设计完成的汽车身份识别系统将车牌识别与车标识别相结合,并辅以汽车颜色识别。同时识别,同时输出,从而从多方面判断并锁定汽车,力求达到万无一失。从而极大地方便了该系统在各个领域的使用。
公安交管领域,该嵌入式汽车身份自动识别系统可被应用在交管系统中。将本产品嵌入到用来测速、测超载的其他交通设施中,就可以完成一系列的管理工作;与终端电脑处理系统相连,传输的是已经经过处理的数字信息而非图片信息,大大节省了终端电脑的处理时间和内存空间,提高反应与处理效率,有效解决交管领域人手不足的现状。
在园区车辆管理方面,本嵌入式汽车身份自动识别系统将留有端口,使其可以与园区的业主入住时所登记的汽车信息库相连。在园区大门处,安装我们的车牌自动识别系统,以对进出车辆自动识别,然后将数据传到数据库并根据数据库中的车牌数据判断是否是园区内的车辆,然后分情况处理。这将大大增加园区汽车的安全系数,而使用该系统的成本远低于使用电脑处理的系统的成本。
关于停车场管理,我们的嵌入式车牌自动识别系统可以完成智能化管理过程。将系统安装在停车场的出、入口处,用来对进出停车场的车辆进行自动识别,而处理后的数据将传入终端电脑,由终端电脑结合传入的信息与数据库判断是否属已买(或租)车位的车辆做出相应处理。
综上,我们有理由相信我们计划完成的嵌入式车牌自动识别系统可以在未来的交通智能化管理系统中发挥举足轻重的作用,是值得去研究和探索的。
附录二:工作原理及方案设想
本汽车身份识别系统包含车牌识别、车色以及车标的识别,本系统将使用嵌入式系统完成此三部分的识别。由于我们刚接触这部分内容,所以想法不是很成熟。
下面将分车牌识别与车色、车标识别以及嵌入式三个部分介绍我们的工作原理和方案。
第一部分:车牌识别
1、总体结构
车牌自动识别系统主要分为三大模块:(1)触发:即前端设备的数据入口处,如测速系统等。(2)图像处理部分:分为图像采集、车牌定位、字符分割和字符识别四部分。(3)无线传输系统将所处理得的数据传送至后端应用系统,如交通违规管理系统,只能停车场系统,安检系统等。
2、算法部分
①前端CCD摄像机:
原始图像获取
由CCD摄像机及辅助照明装置组成。获取图像质量的好坏直接影响到后端处理和识别的效果. 要获得比较清晰的图像, 需要考虑许多影响图像质量的因素, 主要包括: 摄像头和图像卡的选取, 摄像机的位置标定, 汽车的车速, 出入单位的汽车车队之间的距离, 天气、光线等情况对摄像机所摄图像曝光量的影响。
判断是否有车辆进入观测区
采用图像差值法来判断监测区是否有目标进入,即首先将视频图像灰度化,然后比较两幅图像对应像素点的灰度值,看是否有变化以及变化有多少。
图像差分只能测定监测区中是否有物体经过,但它是否交通车辆,尚未可知。鉴于图像差分所产生的噪声、行人、自行车比汽车所占区域小得多,设计尺度滤波器将尺度较小的物体及噪声滤掉。
②车牌定位及预处理
左图为车牌定位的主要算法。完成基本的车牌定位后,还需要对车牌进行一些基本的预处理。包括倾斜矫
正与铆钉和边框的去除。
I、车牌字符的倾斜矫正
车牌字符分割的难点在有些车牌是倾的,直接分割效果不好,需要做校正。首先求出车牌的倾斜率,根据此斜率对车牌做旋转校正。
II、车牌边框和铆钉的去除
先验知识:对于标准车牌,字符间间距为12mm,第2、3个字符间间距为34mm,其中,中间小圆点l0mm宽,小圆点与第2、3个字符间间距分别为12mm。在车牌边框线的内侧,通常有四个铆钉,他们不同程度地与第2个字符或第6个字符粘连,如果不去除铆钉,将给第2和第6在字符的识别造成困难。
将车牌图像进行二值化后,图像仅黑、白二值。白色像素点(灰度值255)取1,黑色像素点(灰度值0)取0,这里采用的是白底黑字模式。对车牌图像逐行进行从内向外式扫描,当扫描到车牌图像某一行中,白色像素点的宽度大于某一阀值时(第一个符合条件的行),则认为是车牌字符的边沿处,切除这一行或以下的所有行。
③车牌字符分割
右图为车牌
字符分割的主要
算法。
在此,由于
我们的知识有限
就不对这些算法
做具体介绍了。
④字符识别方法
字符
识别是车
牌识别的
核心部分。
常见的车
牌字符识
别算法包
括六种。
我们将他
们罗列在
右图中。
其中,我们比较感兴趣的是基于神经网络的字符识别算法。下面,我们具体介绍两种比较简单且普遍的算法以及基于神经网络的字符识别算法。
I、模板匹配车牌字符识别
中国车牌的字符模板分为汉字、英文字母和数字模板,由统计方法构造并保存到数据库中。模板匹配是将字符模板和标准化了的车牌字符进行匹配来识别字符。
II、特征匹配车牌字符识别
车牌识别的方法中,可利用的字符特征很多,大致可以分为结构特征、象素分布特征及其他特征。
在这里,我们拟重点突破神经网络法,因为人工神经网络技术具有非线性描述、大规模并行分布处理能力、高度鲁棒性和自学习与联想等特点,适用于非线性时变大系统的模拟与在线控制。具体步骤如下图所示:
此外,我们还会尝试将各种算法结合起来,以扬长避短,如:将遗传算法与人工神经网络结合起来,既能利用遗传算法能并行计算且能快速、全局搜索的优点又能克服神经网络固有的搜索慢且易陷入局部旱热的缺点等。
由于我们还在大学二年级学习专业基础课程,对图像处理的最新算法还不够了解,我们会在实际操作过程中,选择一种最优的方案并且结合我们的系统特征提出改进意见。
第二部分:车色以及车标识别
①、车身颜色识别
颜色特征具有对图像本身的尺寸、方向、视角等依赖小、鲁棒性高等优点,因此在基于内容的图像索引技术和智能交通系统以及众多的I业(如造纸、纺织、印刷等)系统中有着极其重要的应用。长期以来,由于各种原因,人们提出了数量众多的彩色空间模型,主要可分为三类:第一类是基于人类视觉系统(HumanV isionS ystem,H VS)的彩色空间,它包括RGB,H SI,M unsell彩色空间等;第二类是基于特定应用的彩色空间,它包括电视系统中所的YUV和YIQ、摄影行业如柯达的YCC、打印系统的CMY (K)彩色空间;第三类是CIE彩色空间(包括CIE XYZ, CIE Lab和CIE Luv等)。这些彩色空间各有优缺点,它们在各自的领域里发挥了重要的作用。
我们拟采用RGB彩色空间完成我们的系统。RGB彩色空间在计算机相关领域里应用广泛,例如用于常见的CRT显示器等。在RGB彩色空间中,各彩色值用R、G、B三通道值的组合来共同表示,而其相应的通道值是通过图形采集卡或者CCD传感器等类似器件中的光感受器来获得的。其中,各通道值用入射光及其相应光感受器的光敏函数值之和来表示:
R=
G=
B=
其中,S (A)是光谱,R(A)、G(A)和B(A)分别是R,G,B传感器的灵敏度函数。从上式可以看出,该彩色空间是设备相关的,它与具体捕获设备的光敏函数相关。然而,由于RGB值易于获得和在计算机中计算和表示,因此通常可以用来表示其他各彩色空间,即把RGB值转换为其他彩色空间值。RGB彩色空间的标准色差定义为:
)
由于不同的彩色对人主观感受的影响不同,为了更好的表示色差,在本颜色识别子系统中使用经验色差公式:
对于我们拟设计的车身颜色识别系统主要分以下四大步骤完成车身颜色识别
1.识别区域的选取
为了准确识别出车身颜色,识别区域的选取至关重要。本实验选取车脸前部靠近排气扇的部分
2.颜色直方图计算
对所选区域,计算出现次数最多的颜色。在实际应用中,由于其他彩色空间模型的分量值均可用RGB值来表示,为了计算简便,在计算颜色直方图时可仅针对RGB彩色空间模型进行。
3.色差计算
根据相应彩色空间模型的色差计算公式,计算其与 颜色模板间的色差。
4、颜色识别
在得到样本色与标准色在各个彩色空间模型中的对应色差后,就可以根据其结果进行颜色识别。即选取前一步计算得到的色差中的最小值,作为识别结果。
②、车标识别部分
毋庸质疑,车牌和车标的自动、实时识别是运动车辆类型精确识别系统中至关重要的两个部分。目前人们已经提出了众多的车牌定位算法,主要可以分为两大类:基于黑白图像的车牌定位算法和基于彩色图像的车牌定位算法。基于黑白图像的车牌定位算法又可以分为多类,如基于特征的车牌定位算法基于自适应能量滤波的车牌定位算法,基于小波变换和形态学处理相结合的车牌定位算法,基于二值投影的车牌定位算法,以及基于遗传算法的车牌定位算法等。
这些车牌定位算法各有优缺点,但他们都可以在一定程度上作为车标定位的参考。
车标定位与识别无论在国内还是国外都是一个较为崭新的领域。由于车标本身固有的特殊性:目标小、相似性大、受尺寸和光照影响大、背景不统一,以及不同汽车公司的车标形状大小不一致等,使得其精确定位识别成为一个难点。
我们将车标识别分为以下几个主要步骤:
(l)车牌定位:根据车牌的纹理特征,基于多分辨率分析快速获取车牌区域 ;
(2)车头定位:根据车头区域能量较高且较为集中的特点,通过OTSU二值化算法 进 行 图像二值化,然后利用二值投影,并结合车牌位置信息进行车头快速定位 ;
(3)中轴定位:在车头区域内,根据轴对称性定位车头中轴;
(4)车标粗定位:在定位出车头的基础上,根据车标与车牌的先验知识,得到车标经验搜矩形;
(5)车标精确定位:在第(4)步的基础上,利用车标纹理特征进行车标的精确定位。主要包括两步:一是根据车标区域在垂直方向上具有能量高且相对集中的特点,利用能量增强和自适应形态学滤波进行车标的一次定位;二是利用改进的模板匹配算法进行车标的精确定位。车标识别系统是运动车辆识别系统中的重要组成部分,与车牌识别一样,它也包括了定位和识别两项关键技术。
上图为车标识别系统结构示意图,与典型的目标识别系统一样,它包括了离线的训练过程和在线的识别过程。在训练过程中,首先将手工采集得到的车标样本进行图像归一化、尺度归一化等预处理,然后分别进行模板提取以得到车标标准模板库。车标标准模板库中的模板不仅用于车标定位,还用于进行特征提取以得到车标特征模型库用于车标识别。在定位过程中,除了输入汽车图像外,还需输入车牌的位置信息。这是因为各类车标不具有稳定的纹理特征,且大小、形状各不相同,所以在复杂的背景下直接利用特征匹配或模板匹配进行车标定位是非常困难的。因此必须利用车牌位置、车辆对称性等先验信息进行粗定位,在此基础上再利用相关图像处理技术和模板匹配进行精确定位。车标定位以后,车标识别问题就转化为一个2D形状的识别问题,这可以通过模板匹配的方法实现。但是在实际采集的图像中,往往存在光照、噪声、部分遮挡和形状相似等问题的影响,常规的模板匹配方法难以达到满意的识别效果。因此通常还需要一种合适的特征提取和识别方法来辅助进行车标识别,以提高系统的识别率。
第三部分:嵌入式
按照历史性、本质性、普遍性要求,嵌入式系统应定义为:“嵌入到对象体系中的专用计算机系统”。“嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。对象系统则是指嵌入式系统所嵌入的宿主系统。
嵌入式系统的核心是嵌入式微处理器,它有4个优点:
(1) 对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减少到最低限度;
(2) 具有功能很强的存储区保护功能。
(3) 可扩展的处理器结构,可以迅速地扩展出满足应用的高性能的嵌入式微处理器;
(4) 嵌入式微处理器的功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为 mW甚至μ W级,这对于能源越来越稀缺昂贵的时代,无疑是十分诱人的。
另外,嵌入式实时操作系统提高了系统的可靠性。这些都值得我们去做一个嵌入式车牌识别系统。
考虑到通常车牌以及车标识别算法的运算量大,同时又要满足实时性要求。因此,我们准备采用32位ARM嵌入式微处理器作为核心单元,以CPLD作为时序控制单元,采用基于ARM 9 S3C 241 C的嵌入式图像采集处理系统,在内嵌Linux操作系统的草础上,充分利用了ARM器件体积小、能力强以及功耗低的特点,实现并行数据总线/USB日接口图像接入、图像快速处理、图像信息的本地压缩存储和IP化数数据传输。该系统可使整个系统简化电路并且减少占用资源。
系统设计构成
整个系统由USB图像采集子系统,ARM处理子系统和网络数据传输子系统成摄像头采集现场视频数据通过U SB传输至ARM处理板;ARM处理板内嵌Linux操作系统,采用快速图像算法对图像序列进行处理,并根据处理结果采取相应的措施;网络传输子系统可以处理数据上传监控中心做进一步后续处理,系统结构下图所示。
ARM图像处理子系统拟采用S3C 2410处理器,能满足图像处理的要求;USB图像接入,可以保证图像传输;扩展64M SD RAM与64M Flash,大容量的RAM能够保存多幅图像,便于图像的分析与处理;无线网络接口实现了数据信息的网络化管理。
当然,只是我们的初步设想这些设想都将在我们以后的大量实验过程中得到论证和优化!
附录三:计划进度与安排
计划进度安排:
1.用约15天时间买一些实验所需的基本用品。
2.利用课余时间学习所需知识。
3.用约七个月时间完成编程,解决软件方面问题。
4.用约一年完成硬件方面,并制作样机。
5.初步检查,花费约一个月。
6.以六个月时间调试样机,发现缺陷并修正。反复试验,直至达到一个令人满意的水平。
综上,我们是计划用两年左右的时间拿下这个项目。当然,只是大体计划,以后会随实验的实际进度进行适当调整。
关于[分析关于"基于yuv车牌定位"的词条]的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。