欢迎来到天天文库
浏览记录
ID:59217956
大小:770.43 KB
页数:11页
时间:2020-09-09
《图像变换实验.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数字图像处理实验报告1-图像变换学生姓名:学号:实验时间:地点:指导教师:实验名称:图像变换试验目的:(1)基于MATLAB的实验验证。通过在MATLAB环境中相关函数的调用,验证图像变换和图像频域处理效果,增强感性认识。(2)基于C语言的基本图像处理。通过编写C++程序,进一步理解算法的实现过程,为在实际应用软件中的应用打下基础。实验内容:(1)MATLAB函数的直接调用通过在MATLAB环境中相关函数的调用,验证傅立叶变换、DCT变换和小波变换的结果,并通过反变换恢复原图像。①对’flower.t
2、if’图片进行傅立叶变换,绘制原始图像和变换后的频谱图。②对’flower.tif’图片进行DCT变换,绘制原始图像和变换后的频谱图。③对’flower.tif’图片进行一层小波变换和反变换,绘制原始图像和重建后的图像,以及小波分解后的4个子图注意:可以采用colormap(‘gray’)来设置灰色图像的绘制。(2)提升小波变换实验验证图像的提升小波变换。编写小波变换程序,实现图像的变换和反变换。完成:l图像的读取;l提升小波变换、逆变换l原图像和重建图像的显示、比较。(3)编写VC++程序,读取fl
3、ower.yuv的图像帧,将图彩色图像变为灰度图像,然后对图像像素做线性变换g(i)=af(i)+b。i为任意像素序号,a,b为实数。将a,b取不同值,显示变换前、后的画面。例如a=-1,b=255;a=0.5,b=128等。实验记录与结果分析:(1)①第一步:对于第一个实验先产生一个tif格式的灰度图像,在这里采用微软window系统中的图像并进行灰度图像化来产生。(程序详见附录1.1)结果如下:灰度图像是原图像的一个截取,防止像素太大处理速度变慢。(毕竟这是一次试验)原图:灰度图:②第二步:对’f
4、lower.tif’图片进行傅立叶变换,绘制原始图像和变换后的频谱图。然后再将傅里叶变换后的频谱搬移,最后将三张图像画在一张图像中。(程序代码详见附录1.2)③第三步:对’flower.tif’图片进行DCT变换,绘制原始图像和变换后的频谱图。并将两张图像画在一幅图当中。(程序详见附录1.3)由此可见高频分量全都集中在频谱的左上角,低频分量都集中在频谱图的右下角,这样便于图像的压缩。④第四步:对’flower.tif’图片进行一层小波变换和反变换,绘制原始图像和重建后的图像,以及小波分解后的4个子图,
5、并画出图像。(程序详细代码见附录1.4)原图像:小波逆变换后的图像:对小波变换后的图像进行量化变化编码后的各频率分量如下(左)图:将量化编码后的图像显示在一张图上有上(右)图由此可见图像被较好地压缩。(2)提升小波变换实验验证图像的提升小波变换。实现图像的变换和反变换。通过分裂、预测、更新三个步骤实现小波的正变换与反变换。(程序详见附录2)正变换:反变换:(3)编写VC++程序,读取flower.yuv的图像帧,将图彩色图像变为灰度图像,然后对图像像素做线性变换g(i)=255-f(i)。(试验程序详
6、见附录3)处理前的图像:处理后的图像:由此可见对图像进行了反色的线性变换。实验总结本次实验可谓是收货颇多,我不仅学会了用matlab简单的处理数字图像,还会用c语言创建exe软件了并且能自己做一些简单的图像处理并把它做成想要的软件,如果再加以学习,就可以成功的编出像Photoshop一样的软件,在这高速发展的社会能掌握这样的技能还是非常不错的。附录(源程序等)程序1.1:I=imread('E:电力数字图像处理实验实验一flower.jpg');%从相应文件夹读出要使用的图片%T=rgb2g
7、ray(I);%将该图片变换成灰度值图像%imshow(T)%显示该图像并保存%程序1.2:I=imread('E:电力数字图像处理实验实验一flower.tif');%从相应文件夹读出要使用的图片%F1=fft2(I);%进行二维快速傅里叶变换F2=fftshift(F1);%将中心频谱搬移至图像中间%======画图在一种图形中显示出来=====%subplot(131)imshow(I);subplot(132)imshow(log(abs(F1)/3000+1));subplot(1
8、33)imshow(log(abs(F2)/3000+1));程序1.3:J=imread('E:电力数字图像处理实验实验一flower.tif');I=rgb2gray(J);%从相应文件夹读出要使用的图片%DC=dct2(I);%进行DCT变换%====画图显示====%subplot(121)imshow(I);subplot(122)imshow(log(abs(DC)/25+1));程序1.4:%从相应文件夹读出要使用的图片%i=im
此文档下载收益归作者所有