数字信号处理实验报告--二维图像数字信号处理应用实验.docx

上传人:lao****ou 文档编号:1115964 上传时间:2024-11-19 格式:DOCX 页数:13 大小:231.06KB
下载 相关 举报
数字信号处理实验报告--二维图像数字信号处理应用实验.docx_第1页
第1页 / 共13页
数字信号处理实验报告--二维图像数字信号处理应用实验.docx_第2页
第2页 / 共13页
数字信号处理实验报告--二维图像数字信号处理应用实验.docx_第3页
第3页 / 共13页
数字信号处理实验报告--二维图像数字信号处理应用实验.docx_第4页
第4页 / 共13页
数字信号处理实验报告--二维图像数字信号处理应用实验.docx_第5页
第5页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《数字信号处理实验报告--二维图像数字信号处理应用实验.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验报告--二维图像数字信号处理应用实验.docx(13页珍藏版)》请在第一文库网上搜索。

1、数字信号处理实验报告实验名称:二维图像数字信号处理应用实验学院:信息科学与技术学院系别:通信工程系一、实验目的1 .结合二维图像信号处理,直观感受数字信号处理的基本实现过程。2 .了解二维图像信号处理的一些基本处理。3 .初步了解MT1B的二维信号处理能力。二、实验原理1MAT1AB进行图像处理的步骤如下所示:读取图像到Mat1ab工作空间对图像矩阵进行格式转换对图像矩阵数据进行处理显示图像保存图像2.图像类别与数据格式有以下方式表示:(1)真彩图像由R、G、B一个三维矩阵(N*M*3)描述,数据可以是浮点型也可以是整型。(2)灰度图像由一个二维矩阵(N*M)描述;利用转换公式,将RGB图像转

2、换为灰度图像的公式为:Gray=R*0.299+G*0.587+B*0.114(3)二值图像0表示黑色,1表示白色,由一个二维矩阵(N*M)描述,矩阵的元素为0或1.3.1, AT1AB进行图像处理的函数如下所示:(1)读取图像函数imread可以从任何Mat1ab支持的图像文件格式中,以任意位深度读取一幅图像。格式为:X=imread(4FI1ENAME.FMT,)(2)图像显示ImShOW可以显示真彩、灰度、二值等各种图像。Imshow(gray):显示灰度图像,gray为一个二维矩阵Imshow(RGB):显示真彩图像,RGB为一个三维矩阵ImShoW(BW):显示二值图像,BW为一个二

3、维矩阵(3)保存图像imwrite函数:imwrite文件名.文件格式)文件格式:bmp、jpg、pcx、tif。三、实验内容1 .利用编程实现将真彩图像转换成为灰度图像利用imread读入trees,jpg(注意为uint8格式利用转换公式,将RGB图像转换为灰度图像Gray=R*0.299+G*0.587+B*0.114。利用函uint8,将灰度图像的值转换Uint8,并进行显示将此灰度图像存储成为trees_gray.jpg文件,程序效果等同于函数rgb2grayO0程序如下所示:(见rgbtogray.m文件)c1eara11;c1osea11rgb=imread(,trees,jpg

4、,);gray_1=rgb2gray(rgb);x,y,z=size(rgb);rgb1=doub1e(rgb)gray=zeros(x,y);%灰度处理fori=1:xforj=1:ygray(i,j)=rgb1(i,j,1)*0.299+rgb1(i,j,2)*0.587+rgb1(i,j,3)*0.114;endendgray2=;gray2=uint8(gray);%显示图像figured)imshow(gray2)figure(2)imshow(gray_1)%存储图像imwrite(gray_1,trees_gray.jpg,);imwrite(gray2,trees_grayse

5、1f.jpg,)得到图像与调用函数生成的图像如下所示可以看出两幅图并无明显差异。2 .利用编程将灰度图像转换成为二值图像利用imread读入trees_gray.jpg,设定阈值,将灰度图像转换二值图像,利用函数1ogica1。,将数值转换IOgiCa1,并进行显示,将此二值图像存储成为trees_bw.jpg文件。程序效果等同于函数im2bw()程序如下所示:(见test1_2.m文件)c1eara11;c1osea11gray=imread(,trees_gray.jpg,);bw2=im2bw(gray);x,y=size(gray);bw=;fori=1:xforj=1:yifgray

6、(i,j)128bw(i,j)=1;e1sebw(i,j)=0;endendendbw1=;bw1=1ogica1(bw)figured)imshow(bw1)figure(2)imshow(bw2)imwrite(bw1,trees_bwse1f.jpg,);imwrite(bw2,trees_bw.jpg,);得到图像与调用函数生成的图像如下所示可以看出两幅图没有明显差异。3.在保证将图像的长宽比不变的情况下,将图像缩小原来的一半利用imread读入trees_gray.jpg,利用size函数得到图像的长和宽,利用图像之间的关联性将图像缩小原来的一半,显示缩小后的图像,将此缩小后图像存储

7、成为trees_sma11.jpg文件。程序如下所示:(见SmaI1m文件)c1eara11;c1osea11gray=imread(,trees_gray.jpg,);gray1-doub1e(gray)x,y=size(gray1);gray2=zeros(f1oor(x2),f1oor(y2);fori=1:f1oor(x2)forj=1:f1oor(y2)gray2(i,j)=gray(i*2,j*2);endendgray3-uint8(gray2)figured)imshow(gray3)imwrite(gray3,trees_sma11jpg,);得到缩小图像如下所示4 .在保证

8、将图像的长宽比不变的情况下,将图像增大为原来的一倍利用imread读入trees_gray.jpg,利用size函数得到图像的长和宽,利用ZerOS生成矩阵,矩阵大小为原来两倍,利用图像之间的相关性将原来图像数据写入新生成的矩阵中,显示放大后的图像,将此放大后图像存储成为trees-bigJpg文件。程序如下所示:(见big.m文件)c1eara11;c1osea11gray=imread(,trees_gray.jpg,);gray1-doub1e(gray)x,y=size(gray1);gray2=zeros(x*2,y*2);%将可以直接得到的点进行赋值fori=1:xforj=1:y

9、gray2(i*2,j*2)=gray1(i,j);endend%对第一行和第一列进行赋值fori=1:2*xforj=1:2*ygray2(i,1)=gray2(i,2);gray2(1,j)=gray2(2,j);endend外横向插值fori=3:2:(2*-1)forj=1:2:(2*y-1)gray2(i,j)=(gray2(i-1,j)+gray2(i+1,j)2;endend%纵向插值fori=1:x*2forj=3:2:(2*y-1)gray2(i,j)=(gray2(i,j-1)+gray2(i,j+1)2;endendgray3-uint8(gray2);figured)i

10、mshow(gray3)imwrite(gray3,trees_big.jpg,);得到图像如下所示5 .利用背景差分法实现图像的运动目标检测,并绘制出运动目标的二值图像具体步骤:(1)分别读入CaroO.jpg和CarI1jPg图像;(2)将两幅图像转换成为灰度图(3)利用背景差分法实现目标检测(取绝对值,函数abs)(4)设定阈值(自行设定)将相减后的图片转换成为二值图像,识别目标。程序如下所示:(见yundongmubiao.m文件)c1eara11;c1osea11car-imread(,car00.jpg,);car1-imread(,car11.jpg,);gray_0-rgb2g

11、ray(car);gray_1=rgb2gray(car1);grayO-doub1e(gray_0);gray1=doub1e(gray_1);x,y=size(gray);d=zeros(x,y);fori=1:xforj=1:yifabs(gray(i,j)-gray1(i,j)50d(i,j)=0;e1sed(i,j)=1;endendendfigured)imshow(d)imwrite(d,mubiao.jpg,);源图片如下所示6 得到运动目标图像如下所示78 .利用差分法实现图像的边缘检测具体步骤:(1)读入二值图像“太极.jpg”(1)进行X轴方向的差分运算(注意取绝对值,a

12、bs),绘制出X轴方向差分后的二值图像(3)进行Y轴方向的差分运算(注意取绝对值,abs),绘制出Y轴方向差分后的二值图像(4)将X轴方向差分后的二值图像和Y轴方向差分后的二值图像相加得到检测后的边缘图像程序如下所示:(见bianyuanjiance.m文件)c1eara11;c1osea11taiji=imread(,太极.jpg);taiji_1-doub1e(taiji);x,y,z=size(taiji);taiji1-zeros(x,y)%转化为灰色图像fori=1:xforj=1:ytaiji1(i,j)=taiji_1(i,j,1)*0.299+taiji_1(i,j,2)*0.

13、587+taiji_1(i,j,3)*0.114;endendhengxiang-zeros(x,y);Zongxiang=Zeros(x,y);sum=zeros(x,y);fori=1:x-1forj=1:y-1ifabs(taiji1(i1,j)-taiji1(i,j)50hengxiang(i,j)=1;endendendfori=1:x-1forj=1:y-1ifabs(taiji1(i,j+1)-taiji1(i,j)50zongxiang(i,j)=1;endendendsum=hengxiang+zongxiang;fori=1:xforj=1:yifsum(i,j)-0sum

14、(i,j)=1;%避免2的出现endendendfigured)imshow(hengxiang)imshow(zongxiang)imshow(sum)imwrite(hengxiang,横向差分.jpg);imwrite(zongxiang,纵向差分jpg);imwrite(sum,边缘检测.jpg,);源图片如下所示横向差分检测及纵向差分检测的值如下所示得到边缘检测图像如下所示四、实验总结Mat1ab进行图像处理需要进行读取文件、格式转换、保存图形、存储图像的步骤。图像文件在mat1ab中的存储格式有真彩图像、灰度图像以及黑白图像。其中,真彩图像所占的内存最大。在进行图像处理时通常先将图像转化为灰色图像,同时把矩阵值转化为doub1e型,输出时将矩阵值转化为Uint8型。实验一中是利用Gray=R*0.299+G*0.587+B*0.114公式将真彩图像转化为灰度图像,与用rgb2gray()函数生成的图像相比较可看出两者实现功能相同。实验二中将灰色图像转化为二值图像时,将阀值设为128.灰度值大于128的点变为白色,灰度值小于128的点变为黑色。实验三中将图像缩小为原来的一半取出偶数值点作为新生成的图的各像素点的值。实验四中将图像扩大为原来的两倍,是采用去邻近点的平均值进行线性插值的方法。先对横向进行插值,再对纵向进行插值。实验五对

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服