您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 图像空域变换实验报告
第页(共3页)实验报告(2014~2015学年度第二学期)班级:学号:姓名:同组试验者:实验名称:图像空域变换日期:2015.04.22一、实验目的:1.掌握图像的线性和非线性变换和直方图均衡化的原理和应用;2.理解和掌握图像的平移、垂直镜像变换、水平镜像变换、缩放和旋转的原理和应用;3.了解噪声模型及对图像添加噪声的基本方法。二、实验原理1.灰度线性变换就是将图像中所有点的灰度按照线性灰度变换函数进行变换。2.直方图均衡化通过点运算将输入图像转换为在每一级上都有相等像素点数的输出图像,按照图像概率密度函数PDF的定义。三、实验内容1.灰度线性变换就是将图像中所有点的灰度按照线性灰度变换函数进行变换。将一幅256X256的灰度图像,将0~60灰度级压缩到0~30范围内,压缩比1/2;60~180的灰度级扩大到30~240,比率为190/120;将180~255灰度级压缩到240~255范围内,压缩比为15/75.实验程序:X1=imread('1234.png');figure,imshow(X1)f0=0;g0=0;f1=60;g1=30;f2=180;g2=240;f3=255;g3=255;%绘制变换曲线figure,plot([f0,f1,f2,f3],[g0,g1,g2,g3])axistight,xlabel('f'),ylabel('g')%xlable,ylable加坐标轴文字标注title('intensitytransformation')%给图形窗口加标题r1=(g1-g0)/(f1-f0);%求0~60灰度级范围内的压缩比b1=g0-r1*f0;r2=(g2-g1)/(f2-f1);%求60~180灰度级范围内的压缩比b2=g1-r2*f1;r3=(g3-g2)/(f3-f2);%求180~255灰度级范围内的压缩比b3=g2-r3*f2;[m,n]=size(X1);%求矩阵的行数m,列数nX2=double(X1);%将数据类型转换为双精度型%变换矩阵中的每个元素fori=1:mforj=1:nf=X2(i,j);g(i,j)=0;if(f=0)&(f=f1);%找出灰度级范围在0~60的元素g(i,j)=r1*f+b1;%灰度级在0~30的进行灰度变换elseif(f=f1)&(f=f2)%找出灰度级范围在60~180的元素g(i,j)=r2*f+b2;%灰度级在60~180的进行灰度变换elseif(f=f2)&(f=f3)%找出灰度级范围在180~255的元素g(i,j)=r3*f+b3;%灰度级在180~255的进行灰度变换endendendfigure,imshow(mat2gray(g))%函数mat2gray()将数据矩阵转换成灰度图像第页(共3页)2.对数变换实验程序:I=imread('peppers.png');%读入图像figure;imshow(I);F=fft2(im2double(I));%FFTF=fftshift(F);%FFT频谱平移F=abs(F);T=log(F+1);%频谱对数变换figure;imshow(F,[]);title('未经变换的频谱');figure;imshow(T,[]);title('对数变换后');3.幂次变换实验程序:I=imread('pout.tif');subplot(1,4,1);imshow(I);title('原图像','fontsize',9);subplot(1,4,2);imshow(imadjust(I,[],[],0.5));title('Gamma=0.5');subplot(1,4,3);imshow(imadjust(I,[],[],1));title('Gamma=1');subplot(1,4,4);imshow(imadjust(I,[],[],1.5));title('Gamma=1.5');4.直方图变换实验程序:I=imread('tire.tif');J=histeq(I);imshow(I)figure,imshow(J);figure,imhist(I,64)figure,imhist(J,64)第页(共3页)5.图像平移实验程序:(1)I=imread('cameraman.tif');subplot(1,2,1);imshow(I);title('原始图像');[M,N,]=size(I);g=zeros(M,N);a=20;b=20;fori=1:Mforj=1:N;if((i-a0)&(i-aM)&(j-b0)&(j-bN))g(i,j)=I(i-a,j-b);elseg(i,j)=0;endendendsubplot(1,2,2);imshow(uint8(g));title('平移后的图像');(2)F=imread('123.jpg');subplot(1,2,1);imshow(F);title('原始图像');se=translate(strel(1),[55]);%参数[020]可以修改,修改后平移距离对应改变J=imdilate(F,se);subplot(1,2,2);imshow(J,[]);title('平移后图形');6.水平镜像实验程序:I=imread('123.jpg');subplot(1,2,1);imshow(I);title('原始图像');[M,N]=size(I);g=zeros(M,N);fori=1:Mforj=1:N;g(i,j)=I(i,N-j+1);endendsubplot(1,2,2);imshow(uint8(g));title('水平镜像');第页(共3页)7.垂直镜像实验程序:I=imread('123.jpg');subplot(1,2,1);imshow(I);title('原始图像');image=I(end:-1:1,:);subplot(1,2,2);imshow(image);8.加噪求平均实验程序:(1)I=imread('eight.tif');J=imnoise(I,'gaussian',0,0.02);subplot(1,3,1),imshow(I);title('原图');subplot(1,3,2),imshow(J);title('加噪声');K=zeros(242,308);fori=1:100J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;endK=K/100;subplot(1,3,3);imshow(K);title('平滑图');(2)%导入图像的同时将图像分为行和列元素[I,M]=imread('123.jpg');%对图像进行加噪声J=imnoise(I,'gaussian',0,0.02);%显示图像subplot(1,3,1),imshow(I,M),title('原始图像');subplot(1,3,2),imshow(J,M),title('加噪图像');%创建与原图像一样维数的全0矩阵J1=im2double(J);K=ones(size(J1));%循环100对图像加噪声然后累加第页(共3页)fori=1:1:100J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;end%求图像的平均K=K/100;%显示处理过的图像subplot(1,3,3),imshow(K),title('平滑图像');四、实验中遇到的问题水平变换、垂直变换时彩色图片不能按照要求进行变换第页(共3页)
本文标题:图像空域变换实验报告
链接地址:https://www.777doc.com/doc-5299371 .html