彩色图像空间滤波(MATLAB)

来源:互联网 发布:查理二世 知乎 编辑:程序博客网 时间:2024/05/16 19:47

彩色图像空间滤波(MATLAB)

1、代码

%彩色图像空间滤波clc;clear all;close all;disp('彩色图像空间滤波开始.......');%%%提取3个分量图像f=imread('0.jpg');   %加载彩色图像%显示原图像figure;imshow(f);title('彩色原图像');fr=f(:,:,1);    %提取R通道分量图像fg=f(:,:,2);    %提取G通道分量图像      fb=f(:,:,3);    %提取B通道分量图像%显示三通道图像figure;subplot(2,2,1);imshow(fr);title('R');subplot(2,2,2);imshow(fg);title('G');subplot(2,2,3);imshow(fb);title('B');%%%分别过滤每个分量图像w = fspecial('average', 3);fr_filter=imfilter(fr,w,'replicate');   %平滑红色分量图像fg_filter=imfilter(fg,w,'replicate');   %平滑绿色分量图像fb_filter=imfilter(fb,w,'replicate');   %平滑蓝色分量图像%显示滤波后的三通道图像figure;subplot(2,2,1);imshow(fr_filter);title('R滤波后');subplot(2,2,2);imshow(fg_filter);title('G滤波后');subplot(2,2,3);imshow(fb_filter);title('B滤波后');%%%重建滤波后的RGB图像ff=cat(3,fr_filter,fg_filter,fb_filter); %构造多维数组,即合并3分量图像为一副彩色图像%显示重建后的图像figure;imshow(ff);title('重建后');%%%使用与单色图像相同的语法来执行RGB 图像的线性滤波,可以把前三步合并为一步:gg = imfilter(f, w, 'replicate');figure;imshow(gg);title('步骤合并的滤波结果');

2、运行结果


0 0
原创粉丝点击