MATLAB图像亮度变换和空间滤波

f=imread('你要处理的图片');

imshow(f);

g=imcomplement(f);       %g是翻转后的图像

figure,imshow(g);

g2=imadjust(f,[0.5,0.7],[0.1,0.5],0.5);%突出显示中间灰度部分

figure,imshow(g2,[]);

g3=imadjust(f,[0.5,0.75],[0.1,0.5],2);%gamma=2的整体亮度拉伸,图像总体将变暗

figure,imshow(g3,[]);%对数变换

(这个图2感觉好漂亮啊)

f=imread('你的文件名');

imshow(f);

flog=log(1+double(f));%flog是f做对数变换后的图像

flog1=mat2gray(flog);%值变换到[0,1]之间的图像

g=im2uint8(flog1); %最终对数变换后的频谱图像

figure,imshow(g); %对数变换后的图像拓展了动态范围

%亮度拉伸变幻

f=imread('你的文件'); %f
imshow(f);%fmean是图像f的均值,作为亮度拉伸的控制点
fmean=mean2(im2double(f));%利用公式(2-2)对图像进行亮度拉伸
g=intrans(f,'stretch',fmean,0.9);
figure,imshow(g); 

f=imread('你的文件名'); %f是花粉图像
imshow(f); %花粉图像灰度分布不均匀
figure,imhist(f); %显示直方图
ylim('auto'); %直方图纵轴坐标刻度自动调整
%g是直方图均衡化的图像,均匀分布到256级灰度
g=histeq(f,256);
figure,imshow(g);
figure,imhist(g);
ylim('auto');

%介绍几种边缘处理方式

f=[1 1 1 0 0;2 2 2 0 0;3 3 3 0 0;0 0 0 4 4;0 0 0 5 5]; %f是5x5矩阵
imshow(f,[]);
w=ones(3,3); %w=3x3平均滤波器
gd=imfilter(f,w); %默认选项滤波,采用0扩充边界
%显示滤波结果
figure,imshow(gd,[]);
gr=imfilter(f,w,'replicate'); %使用复制边界选项扩充边界的滤波结果
  %显示滤波结果
figure,imshow(gr,[]);
gr=imfilter(f,w,'symmetric'); %采用镜像反射方式扩充边界的滤波结果
 %显示滤波
figure,imshow(gr,[]);
gc=imfilter(f,w,'circular');  %采用周期方式扩展边界的滤波结果
 %显示滤波结果
figure,imshow(gc,[]);

%空间滤波
f=imread('你的图');
imshow(f);
w=[0 1 0;1 -4 1;0 1 0];     %手工指定拉普拉斯滤波器
g1=imfilter(f,w,'replicate');  %g1是空间滤波后的图像,g1的负值被截掉
figure,imshow(g1,[]);

f2=im2double(f);         %f被转换为double类型
g2=imfilter(f2,w,'replicate');%同样的滤波操作,但是g2中会保留负值
figure,imshow(g2,[]);
g=f2-g2;                %原图像减去空间滤波后的图像
figure,imshow(g2,[]);      %处理后的凸显比原图像要清晰
%手工指定空间滤波器
f=imread('moon.tif');     %f同上,是月球表面图像
w4=fspecial('laplacian',0);%w4是拉普拉斯滤波器,中心元素的值是-4
w8=[ 1 1 1;1 -8 1;1 1 1];%w8是自定义滤波器,中心元素的值是-8
f=im2double(f);          %f转换到double类型
g4=f-imfilter(f,w4,'replicate');   %g4是原图像减去空间滤波的结果
g8=f-imfilter(f,w8,'replicate');   %g8是原图像减去空间滤波的结果
figure,imshow(f);
figure,imshow(g4);
%可以看到手工处理的结果图像更加清晰
figure,imshow(g8);

%中值滤波
f=imread('你的图片');      
imshow(f);%fn时候被椒盐噪声污染了图像
fn= imnoise(f,'salt & pepper',0.2);
figure,imshow(fn);
gm=medfilt2(fn);             %gm是经过中值滤波的图像
figure,imshow(gm);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值