用matlab频域低通滤波,频域高通滤波处理彩色图像的程序

 时间:2024-10-13 20:53:26

程序如下:

clear all;

clc;

I=imread('up4-Amp.png');

OutImg=I;

R=I(:,:,1);

G=I(:,:,2);

B=I(:,:,3);

R=medfilt2(R,[3,3]);

G=medfilt2(G,[3,3]);

B=medfilt2(B,[3,3]);

I1=cat(3,R,G,B); % 对彩色图像R,G,B三个通道分别进行3×3模板的中值滤波 cat函数用于连接两个矩阵或数组

R=filter2(fspecial('average',3),R)/255;

G=filter2(fspecial('average',3),G)/255;

B=filter2(fspecial('average',3),B)/255;

I2= cat(3,R,G,B); %对彩色图像R,G,B三个通道分别进行3×3模板的均值滤波

figure,imshow(I);

title('原图')

figure,

imshow(I1);

title('中值滤波')

figure,imshow(I2);

title('均值滤波')

用matlab频域低通滤波,频域高通滤波处理彩色图像的程序

扩展资料:

注意事项

1、在频域滤波,由于是点乘,所以滤波模板矩阵和图像矩阵必须尺寸一样。

2、因为尺寸一样,它们的原点必须要对齐。

3、因在进行离散傅里叶变换后,在频域点乘,相当于在时域卷积,但是这个时候实际上是对时域周期矩阵进行卷积。直接在时域卷积,matlab默认是在边界补0。

4、Matlab freqz2()这个函数可以自动得到一个指定尺寸的,对应于时域的频域模板。

5、图像经过傅里叶变换后,它的原点在左上角。而模板经过freqz2后,原点在中心,所以只要平移其中的一个就好了。

6、在对原图像进行傅里叶变换之前,按照一定规则补0就好了。

  • Labview 条件结构的使用
  • 在LabVIEW里面调试数组排序的索引程序
  • LabVIEW-平铺式顺序结构/层叠式顺序结构
  • Matlab如何给图像添加高斯噪声?
  • 在LabVIEW里面设计鼠标进出入是文本显示程序
  • 热门搜索
    唐诗宋词手抄报 手抄报花 治污减霾手抄报 民族精神代代传手抄报 对联手抄报 推广普通话手抄报资料 中国传统手抄报 认识大自然手抄报 运动手抄报 英语万圣节手抄报