第一范文网 - 专业文章范例文档资料分享平台

遥感数字图像处理实习报告

来源:用户分享 时间:2025/5/29 14:32:48 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

3利用卷积公式对图像的没一个像素进行处理,得到滤波后的图像。 4.用imshow显示滤波后的图像。 三、Matlab源代码 1.均值滤波源码: clear all clc

img=imread('2.jpg');

[row,column,band]=size(img); img0=double(img);

f11=1/9; f12=1/9; f13=1/9; f21=1/9; f22=1/9; f23=1/9; f31=1/9; f32=1/9; f33=1/9;

img1=[img0(:,1,:), img0(:,:,:), img0(:,column,:)]; img2=[img1(1,:,:); img1(:,:,:); img1(row,:,:)]; filtered=zeros(row,column,band); for ii=1: row for jj=1: column

filtered(ii,jj,:)=f11*img2(ii,jj,:) + f12*img2(ii,jj+1,:) + f13*img2(ii,jj+2,:)+ ...

f21*img2(ii+1,jj,:) + f22*img2(ii+1,jj+1,:) + f23*img2(ii+1,jj+2,:) + ...

f31*img2(ii+2,jj,:) + f32*img2(ii+2,jj+1,:) + f33*img2(ii+2,jj+2,:); end end

filtered1=uint8(filtered);

subplot(1,2,1),imshow(img);title('图1 原始RGB图像');

subplot(1,2,2),imshow(filtered1);title('图2 均值滤波后的图像'); imwrite(filtered1,'flower_filtered_mean.jpg'); 2.中值滤波代码:

image = imread('flower.jpg'); [m,n,p] = size(image); image0 = double(image);

image1=[image0(:,1,:), image0(:,:,:), image0(:,n,:)]; image2=[image1(1,:,:); image1(:,:,:); image1(m,:,:)]; clear image1

image1 = zeros(m,n,p); for i = 1:m for j = 1:n

A = image2(i:i+2,j:j+2,:); B = sort(A); midum = B(2,2,:); image1(i,j,:) = midum; end

end

image1 = uint8(image1);

subplot(1,2,1),imshow(image);title('图1:原始的RGB图像'); subplot(1,2,2),imshow(image1);title('图2:中值滤波后的图像'); 3.边缘提取滤波源代码 clear all

img=imread('2.jpg'); [row,column,band]=size(img); img0=double(img); f11=1; f12=0; f13=-1; f21=1; f22=0; f23=-1; f31=1; f32=0; f33=-1;

img1=[img0(:,1,:), img0(:,:,:), img0(:,column,:)]; img2=[img1(1,:,:); img1(:,:,:); img1(row,:,:)]; filtered=zeros(row,column,band); for ii=1: row for jj=1: column

filtered(ii,jj,:)=f11*img2(ii,jj,:) + f12*img2(ii,jj+1,:) + f13*img2(ii,jj+2,:)+ ...

f21*img2(ii+1,jj,:) + f22*img2(ii+1,jj+1,:) + f23*img2(ii+1,jj+2,:) + ...

f31*img2(ii+2,jj,:) + f32*img2(ii+2,jj+1,:) + f33*img2(ii+2,jj+2,:); end end

filtered1=uint8(filtered);

subplot(1,2,1),imshow(img);title('图1 RGB原图像');

subplot(1,2,2),imshow(filtered1);title('图2 边缘提取后的图像'); imwrite(filtered1,'flower_filtered_edge.jpg');

四、运行结果

图1:原始RGB图像 图2:均值滤波后的图像

图3:中值滤波后的图像 图4:边缘提取后的图像

实习3 傅里叶变换、傅里叶逆变换,及频域滤波

一、实验目的

按照信号处理理论,根据滤除的频率特征,滤波有3种:1.低通滤波。低通滤波是对频率域的图像通过滤波器H(u,v)削弱或抑制高频部分而保留低频部分的滤波方法。由于图像上的噪声主要集中在高频部分,所以低通滤波可以起到压抑噪声的作用。同时,由于强调了低频成分,图像会变得比较平滑。2.高通滤波。高通滤波是对频率域的图像通过滤波器来突出图像的边缘和轮廓,进行图像锐化的方法。3.带通滤波。仅保留指定频率范围的滤波,范围外的频率被阻止。

将空间域中的图像变换到频率域中进行计算。空间增强技术强调像元位置和像元之间的关系,但随着考虑的像元数目增多,计算的复杂度增加而且非常耗费计算运算时间,特别是当模板越来越大时,这种现象尤为明显。 频率域增强方法:

1.频率域平滑:保留图像的低频部分而抑制高频部分。 2.频率域锐化:保留图像的高频部分而削弱低频部分。 首先将空间域图像f(x,y)通过傅立叶变换为频率域图像F(u,v),然后选择合适的滤波器H(u,v)对F(u,v)的频谱成分进行增强得到图像G(u,v),再经过傅立叶逆变换将

G(u,v)变换到空间域,得到增强后的图像g(x,y)。

根据傅里叶变换的原理,用Matlab实现对图像的傅里叶变换,再设计各种频率滤波器,包括理想滤波器、巴特沃斯滤波器、指数滤波器等高通或低通滤波器,用这些滤波器对频率图像进行滤波,将得到的滤波后的频率图像经过傅里叶逆变换后得到想要的图像。本实验,对这些滤波器都进行了设计,处理结果如下图: 二、算法描述

1.读取RGB图像,并获得其某个波段。

2.调用fft2对某波段进行傅里叶变换,用fftshift频移函数,使得图像的低频部分移动到频谱的中心。

3.设置低通高通滤波器,对频谱图像进行滤波处理,去除其高频或低频部分。 4.用ifft2对频谱图像进行逆傅里叶变换,得到滤波后的图像。 5.对图像进行归一化,使像素值在0-255之间。 6. imshow显示频谱图像和滤波后的图像。

三、Matlab源代码 1.理想低通滤波源代码 clear all

a=imread('2.jpg'); [X,Y,Z]=size(a);

a1=a(:,:,1); b1= fft2(a1); b2= fftshift(b1); F=abs(b2); h=zeros(X,Y);

cutoff=0.7; threshold=1-cutoff; lowx=round(X/2-threshold*X/2); upx=round(X/2+threshold*X/2); lowy=round(Y/2-threshold*Y/2); upy=round(Y/2+threshold*Y/2); h(lowx:upx,lowy:upy)=1; lowpass=b2.*h; d0=ifft2(lowpass); result=abs(d0); result=uint8(result); F1=log10(reshape(F, X*Y,1));

F2=uint8( ((F1 - min(F1))/(max(F1) - min(F1)))*255); F3=reshape(F2, X, Y);

subplot(1,3,1), imshow(F3), title('Fig.1 ?傅里叶频谱'); subplot(1,3,2), imshow(h), title('Fig.2 理想低通滤波器'); subplot(1,3,3), imshow(result),title('Fig.3 ?理想低通滤波结果');

2.巴特沃斯低通滤波代码: clear all

a=imread('2.jpg'); [X,Y,Z]=size(a);

a1=a(:,:,1);b1= fft2(a1); b2= fftshift(b1); F=abs(b2); h=zeros(X,Y); lowpass=zeros(X,Y); n1=round(X/2); n2=round(Y/2);

dmax=sqrt(n1^2 + n2^2);

cutoff=0.7;d0=(1-cutoff) * dmax; n=3; for x=1:X for y=1:Y

d=sqrt((x-n1)^2+(y-n2)^2); h(x,y)=1/(1+(d/d0)^(2*n)); lowpass(x,y)=b2(x,y).*h(x,y);

搜索更多关于: 遥感数字图像处理实习报告 的文档
遥感数字图像处理实习报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c430ly8oysv00kc51zttg_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top