![基于MATLAB的车牌识别程序详解精要_第1页](http://file4.renrendoc.com/view/8f466aa796a13de55c2085b699a03404/8f466aa796a13de55c2085b699a034041.gif)
![基于MATLAB的车牌识别程序详解精要_第2页](http://file4.renrendoc.com/view/8f466aa796a13de55c2085b699a03404/8f466aa796a13de55c2085b699a034042.gif)
![基于MATLAB的车牌识别程序详解精要_第3页](http://file4.renrendoc.com/view/8f466aa796a13de55c2085b699a03404/8f466aa796a13de55c2085b699a034043.gif)
![基于MATLAB的车牌识别程序详解精要_第4页](http://file4.renrendoc.com/view/8f466aa796a13de55c2085b699a03404/8f466aa796a13de55c2085b699a034044.gif)
![基于MATLAB的车牌识别程序详解精要_第5页](http://file4.renrendoc.com/view/8f466aa796a13de55c2085b699a03404/8f466aa796a13de55c2085b699a034045.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于MATLAB的车牌识别系统小组成员: 张佰涛 刘强伟崔敏滕秀萍龚恒耿 车牌识别系统的摄像头通过对经过指定区域的机动车辆进行拍照,因为照片会受到光照、拍摄位置和车辆行驶速度的影响,导致拍摄的图片不能准确确实定汽车的车牌。而车牌识别系统就通过对机动车辆的照片进行图像预处理、车牌定位、字符分割、字符识别等技术手段,从而得到清晰的机动车牌照的照片,从而提高现代智能交通的管理效率,可以说车牌识别系统对于现代智能交通至关重要。系统技术: 本系统应用图像处理技术、车牌分割技术、字符特征提取方法、神经网络识别技术,模板匹配的方法来解决车辆牌照识别问题。完整的车牌识别系统包括图像采集、图像处理、车牌定位、字
2、符分割、字符识别、数据库、数据库支持模块等模块。一、图像处理: 本系统中图像处理主要分为几个步骤:图像预处理,图像增强,图像去噪,图像切割,图像提取等几个步骤。 一图像预处理 收集到的图片一般为彩色图片,由于彩色图片占用存储容量大,处理时间长,因此需要对图像进行灰度转换,将彩色图像转换为灰度图像,灰度图像只保存亮度信息,方便使用,也为后面的对图像进行二值化处理提供方便。 程序:I1=rgb2gray(I); rgb2gray,MATLAB中灰度图像转换函数,原图及处理后的灰度图显示如下 一、图像处理二、图像增强: 图像增强是数字图像处理过程中经常采用的一种方法。为了改善视觉效果或者便于人和机器
3、对图像的理解和分析,根据图像的特点或存在的问题采取的改善方法或者加强特征的措施称为图像增强。 采集的图片受天气、光照、观察点等制约,往往会产生比照度缺乏,图像细节不清,另外,图像传输过程中也会产生失真,影响识别率。 图像增强的方法有:中值滤波、直方图均衡,灰度拉伸、通天滤波、高斯滤波、多图像平均、领域平均。腐蚀膨胀等。一、图像处理二、图像增强: 本系统中使用到的方法有:平均滤波,膨胀腐蚀,直方图均衡 直方图均衡 程序:figure(2),subplot(1,2,2),imhist(I1;title(灰度图直方图); imhist函数,用来提取灰度图中直方图信息,用来直方图均衡,增强图像。 处理
4、后的直方图显示如下: 一、图像处理二、图像增强: 膨胀腐蚀 程序:I3=imerode(I2,se); imerode,MATLAB中的腐蚀函数 处理后的腐蚀图像显示如下: 三、图像的去噪: 通常使用2种方法:线性滤波、中值滤波。线性滤波可以去除图像中某些类型的噪声,本程序中采用平均滤波发:邻域平均法的均值滤波器就非常适用于去除通过扫描得到的图像中的颗粒噪声。经邻域平均后,噪声的均值不变,噪声方差变小,说明噪声强度减弱了,即抑制了噪声。邻域平均法也平滑了图像信号,特别是可能使图像目标区域的边界变得模糊。可以证明,对图像进行邻域平均处理相当于图像信号通过一低通滤波器。 相关的MATLAB 指令:
5、 h=fspecial(average,3); ;%平均值的设定 d=im2bw(round(filter2(h,d);%平均滤波四、图像的边缘检测: 边缘是图像的最本特征,边缘检测在计算机视觉、图像分析等应用中起着重要的作用,使图像识别与分析的重要环节。边缘存在于目标与背景、目标与目标、区域与区域之间因此它是图像分割、形状特征、纹理特征的根底。缘具有方向与幅度两个特征。沿边缘走向,像素变化比较平缓。而垂直于边缘走向,那么像素变化剧烈。这种剧烈可能呈现阶跃状,也可能呈现斜坡状。边缘的上的像素的一 阶导数较大; 二阶导数在边缘检测处值为零,呈现零交叉。这种特点使得边缘检测可以利用数学方法获得,经
6、典的边缘检测算子有Roberts、Sobel、Prewitt、LoG、Canny算子。本设计中采用Roberts算子其MATLAB指令:I2=edge(I1,robert,0.15,both);%使用robert算子进行边缘检测。%将灰度图像用Robert算子计算,间距,方向水平,垂直两个方向,图像边缘处理,利用Robert算子运算 要先进行牌照的倾斜校正。由于牌照的上下沿是两条明显的平行直线,因此,一般都采用霍夫(Hough)变换,检测出这两条直线,然后对牌照进行校正 。 汽车牌照的定位,是指从摄入的汽车图像中找到汽车牌照所在的位置,并把含有车牌的子区域提取出来。从编程实现的角度来看,就是针
7、对某汽车图像,通过运行某个定位算法,确定车牌子区域的对角坐标。为了准确而快速的实现车牌的定位,人们提出了许多定位算法。这些算法大都基于汽车牌照的不同特征而提出的。这些特征包括:(1)车牌区域内字符的纹理特征。(2)车牌的格式标准和字符标准信息。(3)车牌区域水平或者垂直投影特征。(4)车牌区域的位置特点。(5)车牌的彩色信息。(6)频谱特征。处理方法主要分为两大块:行定位与列定位。具体方法如下: 获取特征图像 要想从一整幅包括车身,背景等其他相对于车牌来说属于干扰因素的图像中提取出车牌,就必须抓住车牌区域的最主要特征。车牌区域最主要的特征应该是:车牌的底色和车牌字的颜色形成强烈比照,而且灰度变
8、化频繁。 程序: Blue_y=zeros(y,1; for i=1:y for j=1:x if(myI(i,j,1)=1) Blue_y(i,1)= Blue_y(i,1)+1; end end end temp MaxY=max(Blue_y PY1=MaxY; while (Blue_y(PY1,1)=5)&(PY11) PY1=PY1-1; end PY2=MaxY; while (Blue_y(PY2,1)=5)&(PY2y) PY2=PY2+1; end IY=I(PY1:PY2,:,:); PX1=1; while (Blue_x(1,PX1)3)&(PX1x) PX1=PX1
9、+1; end PX2=x; while (Blue_x(1,PX2)PX1) PX2=PX2-1; end PX1=PX1-1; PX2=PX2+1; dw=I(PY1:PY2-8,PX1:PX2,:); 通过以上的行 列扫描确定了车牌的区域,并将车牌提取 出来,效果如以下图 程序局部详解 1图像预处理 function d=main(jpg) close all clc I1=imread(car2.jpg);%读入图片 figure(1),imshow(I);title(原图)%显示输出一个图形窗口 I1=rgb2gray(I);%变为灰度图像,图像转换预处理 figure(2),sub
10、plot(1,2,1) (灰度图); title(灰度图) figure图片产生一行两列子图激活第1个格子图 此局部是图像预处理局部,将采集到的图像转换为灰度图像, 便于后面处理,同时显示原图的图片以及处理好的灰度图片。2图像增强与边缘检测figure(2),subplot(1,2,2),imhist(I1;title(灰度图直方图);)%显示图像直方图,图像增强处理,直方图均衡I2=edge(I1,robert,0.15,both);%将灰度图像用Robert算子计算,间距,方向水平,垂直两个方向,图像边缘处理,利用Robert算子运算figure(3),imshow(I2)%显示边缘处理后
11、的;title(robert算子边缘检测)se=1;1;1;%创造一个维度矩阵,用于腐蚀单位扫描I3=imerode(I2,se);%将I3灰度腐蚀,se为腐蚀算子figure(4),imshow(I3);title(腐蚀后图像);%对裁剪好的图像进行图像增强处理,利用腐蚀处理se=strel(rectangle,25,25);%构建一个25为边长的正方形结构体图 I4=imclose(I3,se);%对I3利用正方形结构图闭运算,平滑图片轮廓,修补缝隙;figure(5),imshow(I4);title(平滑图像的轮廓);I5=bwareaopen(I4,2000);%删掉原图的面积小于2
12、000的不必要的小局部figure(6),imshow(I5);title(从对象中移除小对象);y,x,z=size(I5);%I5是移除小对象后的图像,将I5各维尺寸存储在X,Y,Z中myI=double(I5);%换成双精度数据。 首先利用直方图,统计灰度图中像素灰度的信息,对此进行直方图均衡,增强图像,将直方图显示;利用robert算子进行边缘检测,对原图进行处理,然后创立一个维度矩阵,用来进行腐蚀操作,将图像进一步增强 然后对图像进行进一步修补,建立一个正方形结构图进行闭运算,修补轮廓,填补缝隙。由于原图中存在车标志等因素的干扰,因此要对干扰消除,删除掉不必要的小局部。 最后将最终图
13、像的图像数据各个维度存储在数组中,转换为双精度为下面的行列扫描做准备。3车牌区域确实定与提取 tic%保存当前时间,用toc计算程序运行时间 Blue_y=zeros(y,1);%产生y*1的全零矩阵 for i=1:y%对应图片中像素点横向坐标 for j=1:x%对应图片中像素点纵向坐标 if(myI(i,j,1)=1) %灰度图像中白色表示为全1,假设myI=1,那么表示是数字区域,进行行扫描,列不变,所以j不变 %利用行数加一循环统计蓝色像素点 Blue_y(i,1)= Blue_y(i,1)+1;%Blue_y第i行第一列数值加一,即假设图片中出现白色点,将对应的位置横向坐标存放在变
14、量中,保存数字区域行信息 end end end %确定数字区域,将数字区域所在行信息输入 Blue_y中temp MaxY=max(Blue_y);%Y方向车牌区域确定 temp为blue-y最大值所在位置,maxy为最大值 PY1=MaxY; while (Blue_y(PY1,1)=5)&(PY11) PY1=PY1-1; end %从右方往左截取一段区域,区域的右限为PY1 PY2=MaxY; while (Blue_y(PY2,1)=5)&(PY2y) PY2=PY2+1;%从左方截取一段区域,区域的左限为PY2 end IY=I(PY1:PY2,:,:);%IY为PY2到PY1的区
15、域,横向区域 % X方向 % Blue_x=zeros(1,x);%通过x方向进一步确定y方向的车牌区域 for j=1:x for i=PY1:PY2 if(myI(i,j,1)=1) Blue_x(1,j)= Blue_x(1,j)+1; %Blue_y第i行第一列数值加一,即假设图片中出现白色点,将对应的位置横向坐标存放在变量中,保存数字区域列信息 end end end%纵向扫描,进一步确定车牌区域 PX1=1; while (Blue_x(1,PX1)3)&(PX1x) PX1=PX1+1; end %从上至下截取一段区域,区域上限位PY1 PX2=x; while (Blue_x(
16、1,PX2)PX1) PX2=PX2-1; end %从下至上截取一段区域,区域下限位PY2 PX1=PX1-1;%对车牌区域的校正 PX2=PX2+1; dw=I(PY1:PY2-8,PX1:PX2,:);%车牌区域提取,考虑到车牌边框区域,进行剪切 t=toc; %计算程序运行时间figure(7),subplot(1,2,1),imshow(IY),title(行方向合理区域);%显示行适宜区域图片,将它放在第一个小图位置 figure(7),subplot(1,2,2),imshow(dw),title(定位剪切后的彩色车牌图像)%显示车牌区域,放到第二个小图 imwrite(dw,d
17、w.jpg);%将图像数据写入图像文件中 figure(8);subplot(3,2,1),imshow(b),title(1.车牌灰度图像)%产生3行两列子图,将灰度图放到第一个小图位置 通过运用for循环来进行行列扫描,将图片中数字局部所在的行 列信息付给变量,对变量的操作来完成对图片车牌区域的提取。 4图像的二值化 灰度图像是有256个灰度级的单色图像,多级别的图像能够呈现出较为丰富的明暗度,但对于目标搜索来说,总是希望尽可能地减少背景像素的干扰,而保存或增强目标区的色素度。图像的二值化可把像素的灰度级分成黑与白二级,即把原灰度图像转化为二值图像,方便目标区域的处理。 本程序中采用的是基
18、于纹理的全局二值化方法,先确定一个最正确阀值,通过对图片像素点和阀值的比较来实现图像的二值化。 程序:g_max=double(max(max(b);%最大值换为双精度数据 g_min=double(min(min(b);%最小值换位双精度数据 T=round(g_max-(g_max-g_min)/3); % T 为二值化的阈值,g_max表 示车牌中二值最大点,g_min表示黑色像素点最小值,两个相减除以三,再用g_max减去,取中间值作为判断标准阀值过小,那么干扰也算在内,正常显示受影响 m,n=size(b);%返回矩阵b中的数值保存在m n中 d=(double(b)=T); % d
19、:如果满足条件,像素点置1,不满足,那么为0,即满足条件的白色像素点不变,不满足的置为0,黑色 imwrite(d,2.车牌二值图像.jpg);%数据写入图像文件中 figure(8);subplot(3,2,2),imshow(d),title(2.车牌二值图像)%将二值图像放到第一行第二个处 figure(8),subplot(3,2,3),imshow(d),title(3.均值滤波前)%将均值滤波前图像放到第三个处 两次取最值并转换为双精度数据,是为了保证数据的准确性,程序中T为阀值,T的指由实验得来,通过与T值的比较,假设大于T,那么为白色像素点,假设小于T,那么为背景黑色像素点,实
20、现图像的二值化,实现对目标区域的处理。5图像去噪 由于在图像的采集过程中,受硬件或是各种因素的影响,图像中会出现随机的或是非线性的噪声,使得图像受到污染,因此图像的去噪是必须的。对车牌图像进行处理,通常采用空间域法对车牌图像滤波,目的是去除图像中的噪声,通常使用2种方法:线性滤波、中值滤波。本程序中使用的是线性滤波。 程序:h=fspecial(average,3);%建立预定义的均值滤波算子,相应的参数为3d=im2bw(round(filter2(h,d); %将d用建立好的算子h进行滤波,用round函数进行四舍五入,数据精确,然后用im2bw函数将灰度图转换为二值图imwrite(d,
21、4.均值滤波后.jpg);%将数据写入图像文件figure(8),subplot(3,2,4),imshow(d),title(4.均值滤波后)%将图像放入第四个小图位置6图像增强 这次的图像增强运用的是膨胀腐蚀操作,对二值化图像进行膨胀腐蚀操作,假设先腐蚀后膨胀的过程:利用它可以消除小物体,在纤细点处别离物体,平滑较大物体边界,但同时并不会明显改变原来物体的面积。而先膨胀后腐蚀的过程:利用它可以填充物体内细小空洞,连接临近物体、平滑其边界,但同时并不会明显改变原来物体的面积。本程序中利用的是先腐蚀后膨胀,消除了小物体,平滑了较大物体的轮廓 。 程序:se=eye(2); % 建立一个小的二值
22、单位矩阵,用来与处理图像进行比较m,n=size(d);%返回矩阵d的尺寸,存储在m,n中,m表示的为行数,n为列数if bwarea(d)/m/n=0.365%计算二值图像中对象的总面积与整个面积的比是否大于0.365? d=imerode(d,se);%对d图符合要求的实现腐蚀操作elseif bwarea(d)/m/n=0.235%计算二值图像中对象的总面积与整个面积的比是否小于 d=imdilate(d,se);%对d图实现膨胀操作end%先腐蚀后膨胀,消除小物体,平滑较大物体边界imwrite(d,5.膨胀或腐蚀处理后.jpg);%将数据写入d图当中figure(8),subplot
23、(3,2,5),imshow(d),title(5.膨胀或腐蚀处理后)%在第五个位置显示出d图通过先腐蚀后膨胀的操作,将原图进行了进一步的图像增强处理。将膨胀腐蚀后的图片显示。7图像切割 自定义一个切割函数,利用横向扫描和纵向扫描确定黑色像素点区域边界,将区域裁剪掉,保存原图中白色边框区域。程序:function e=qiege(d)m,n=size(d);top=1;bottom=m;left=1;right=n; % initwhile sum(d(top,:)=0 & top=1%从下往上行扫描,确定黑色像素位置 bottom=bottom-1;endwhile sum(d(:,left
24、)=0 & left=1 right=right-1;%从右往左扫描,确定黑色像素位置,纵向扫描enddd=right-left;%车牌图像黑色像素点的右边界hh=bottom-top;%车牌图像黑色像素点的下边界e=imcrop(d,left top dd hh);%将车牌黑色像素点局部提取出来放到e中%切割函数结果为切割图形的白色区域边界通过切割函数,原图中只剩下白色边框围成的区域,不过区域内部仍含有黑色像素点,需要进一步处理。程序:d=qiege(d);%调用切割函数m,n=size(d);%将d的尺寸输入到m n中figure,subplot(2,1,1),imshow(d),titl
25、e(n);%将分割后的图展示出来k1=1;k2=1;s=sum(d);j=1;while j=n%从第一列开始 while s(j)=0%当图像中全为黑色像素点 j=j+1;%列加一 end k1=j; while s(j)=0 & j=round(n/6.5)%如果大于,意味着这个区域含有多个字符 val,num=min(sum(d(:,k1+5:k2-5);%将k1 k2再调整加5减5,求和取最小值,确定最小区域 d(:,k1+num+5)=0; % 将两个字符中间的干扰赋零,消除干扰,进行下一次切割 end end 经过上述程序处理,已经把车牌区域提取出来,并且对车牌区域内部可能存在的干
26、扰也已消除,接下来就是将车牌中7个字符提取出来 程序:d=qiege(d);%防止上面出现两个字符连在一起,处理后变乱,故再次切割% 切割出 7 个字符y1=10;y2=0.25;flag=0;word1=;while flag=0 m,n=size(d);%将d的尺寸赋给m n left=1;wide=0; while sum(d(:,wide+1)=0 %当d图中列的和不全为零时 wide=wide+1;%如果d图像素列中存在白色像素点,纵向扫描,列数加一 end if widey2%如果two_thirds占到all的四分之一,认为是字符 flag=1;word1=temp; % WOR
27、D 1将字符一赋给word1,flag等于1,改变flag初值,防止再次进入while大循环,将wide值破坏 end d(:,1:wide)=0;d=qiege(d);%人为地将Word1 改变为黑色像素点,这样就可以用切割函数切割掉,为下一个字符做准备, %可以循环切割提取字符,如果不对Word1赋黑,Word1将进行切割进入下一循环,造成重复切割 endend自定义一个字符函数,用来从车牌区域中提取出7个字符,其中利用切割函数来进行切割。程序:function word,result=getword(d)word=;flag=0;y1=8;y2=0.5; while flag=0 m,n
28、=size(d);%将d的尺寸存入m n wide=0; while sum(d(:,wide+1)=0 & wide=n-2%纵向扫描,如果有白色点的列数加一 wide=wide+1; end temp=qiege(imcrop(d,1 1 wide m); m1,n1=size(temp); if widey2%如果列数小于8且长比宽大于2:1,认为是干扰 d(:,1:wide)=0;%将1到wide行赋一,消除干扰 if sum(sum(d)=0%二次求和,加强精度,如果还不等于零,干扰未完全消除,再次切割 d=qiege(d); else word=;flag=1;%不作处理,改变fl
29、ag初值为了防止再次进入大循环,破坏wide值 end else%全为有用区域,即数字区域 word=qiege(imcrop(d,1 1 wide m);%将第一个字符切割出来,赋给Word d(:,1:wide)=0;%人为地将第一个字符赋零,调用切割函数切割掉,防止重复切割 if sum(sum(d)=0;%加强精度,如果二次求和还不为0,再次切割,改变flag初值为了防止再次进入大循环,破坏wide值 d=qiege(d);flag=1; else d=; end end endend result=d;%结果为d图 运用这个getword函数就可以提取7个字符,调用getword函数
30、word2,d=getword(d); % 分割出第二个字符word3,d=getword(d); % 分割出第三个字符word4,d=getword(d); % 分割出第四个字符word5,d=getword(d); % 分割出第五个字符word6,d=getword(d); % 分割出第六个字符word7,d=getword(d); % 分割出第七个字符subplot(5,7,1),imshow(word1),title(1);subplot(5,7,2),imshow(word2),title(2);subplot(5,7,3),imshow(word3),title(3);subplo
31、t(5,7,4),imshow(word4),title(4);subplot(5,7,5),imshow(word5),title(5);subplot(5,7,6),imshow(word6),title(6);subplot(5,7,7),imshow(word7),title(7);m,n=size(word1);然后对图像进行缩放处理,运用imresize函数进行缩放word1=imresize(word1,40 20);%图像缩放函数,将图片缩放为40 20比例word2=imresize(word2,40 20);word3=imresize(word3,40 20);word4
32、=imresize(word4,40 20);word5=imresize(word5,40 20);word6=imresize(word6,40 20);word7=imresize(word7,40 20);subplot(5,7,15),imshow(word1),title(1);subplot(5,7,16),imshow(word2),title(2);subplot(5,7,17),imshow(word3),title(3);subplot(5,7,18),imshow(word4),title(4);subplot(5,7,19),imshow(word5),title(5
33、);subplot(5,7,20),imshow(word6),title(6);subplot(5,7,21),imshow(word7),title(7);imwrite(word1,1.jpg);imwrite(word2,2.jpg);imwrite(word3,3.jpg);imwrite(word4,4.jpg);imwrite(word5,5.jpg);imwrite(word6,6.jpg);imwrite(word7,7.jpg);最终将提取出的字符以及缩放完的字符显示出来,缩放的字符大小统一,利于识别。8图像字符识别1首先输入实际图片数据,为下面的和字符模板作比照做准备。
34、liccode=char(0:9 A:Z 苏豫陕鲁); %建立自动识别字符代码表 SubBw2=zeros(40,20);%建立一个40行 20列的零矩阵l=1;for I=1:7 ii=int2str(I);%将I把整形转换成字符串,将7个字符转换为字符串 t=imread(ii,.jpg); SegBw2=imresize(t,40 20,nearest); %图像缩放中改变图像尺寸时采用最近邻插值算法 if l=1 %第一位汉字识别 kmin=37; %预先建立好的字库,37到40号位置为汉字的位置 kmax=40; elseif l=2 %第二位 AZ 字母识别 kmin=11; %26个大写字母和十位数字,预先建立好的字库 kmax=36; else l=3 %第三位以后是字母或数字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 短信息服务合同五
- 欠款借款合同
- 财务信息咨询合同年
- 机床设备销售合同书
- 2025年上海从业资格证货运考试答案
- 2025年鹤壁c1货运从业资格证考试内容
- 小学二年级下册数学除法口算题专项训练
- 病人协议书范本(2篇)
- 2024-2025学年九年级历史下册第一单元殖民地人民的反抗与资本主义制度的扩展第3课美国内战同步练习1新人教版
- 苏科版数学七年级下册8.3《同底数幂的除法》听评课记录1
- 电梯使用转让协议书范文
- 工程变更履历表
- swagelok管接头安装培训教程
- 煤矿岗位标准化作业流程
- 唯物史观课件
- 公墓管理考核方案
- 把子肉店创业计划书
- 综合楼装修改造项目 投标方案(技术方案)
- 冀教版五年级上册英语全册单元测试卷(含期中期末试卷及听力音频)
- 静脉用药安全输注药护专家指引
- 华住酒店管理制度
评论
0/150
提交评论