您的位置:首页 > 编程语言 > MATLAB

matlab 图像的平滑和锐化

2016-11-21 22:54 597 查看
1.读入一幅图像,分别采用均值和高斯滤波器对图像进行平滑处理

>> clear all;
>> sample = imread('sample.jpg');
>> mean3Sample = filter2(fspecial('average',3),sample)/255;
>> mean5Sample = filter2(fspecial('average',5),sample)/255;
>> mean7Sample = filter2(fspecial('average',7),sample)/255;
>> gaussianSample = filter2(fspecial('gaussian'),sample)/255;


2.使用’subplot’命令,将原始图像,平滑处理后的图像同时显示出来

>> subplot(2,2,1);
>> imshow(sample); %原始图像
>> subplot(2,2,2);
>> imshow(mean7Sample); %采用均值进行平滑处理
>> subplot(2,2,3);
>> imshow(sample); %原始图像
>> subplot(2,2,4);
>> imshow(gaussianSample); %高斯滤波器进行平滑处理


3.分别采用’prewitt’和’sobel’边缘算子对图像做边缘增强处理,并显示边缘处理后的图像

%采用’prewitt’算子:
>> prewittSample = uint8(filter2(fspecial('prewitt'),sample));
>> imshow(prewittSample);
%采用’ sobel’算子:
>> sobelSample = uint8(filter2(fspecial('sobel'),sample));
>> imshow(sobelSample);


4.采用“原图*2-平滑图像”,以及“原图+边缘处理图像”的方法锐化图像

%采用“原图*2-平滑图像”方法:
>> subSample = sample.*2 - uint8(mean7Sample);
>> imshow(subSample);
%采用“原图+边缘处理图像”方法
>> addSample = sample + uint8(prewittSample);
>> imshow(addSample);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息