资源简介
其中的预处理包括图像灰度化、去噪、滤波、锐化、边缘检测。
代码片段和文件信息
clear;clc;close all
%读取图像
I=imread(‘abc.png‘);
try
I=rgb2gray(I); %如果是RGB图像,转成灰度图
end
%添加噪声
I=imnoise(I‘salt & pepper‘0.04); % 叠加密度为0.04的椒盐噪声
figure
imshow(I)
title(‘原图‘)
%图像去噪
I=medfilt2(I[2 4]); %采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波
figure
imshow(I)
title(‘去噪之后的图像‘)
%图像锐化
[MN]=size(I); % 计算图像的尺寸
f=double(I); % 数据类型转换,MATLAB不支持图像的无符号整型的计算
g=fft2(f); % 二维傅立叶变换,得到频域信息
g=fftshift(g); % 0频率移到(M/2N/2)处
n=2; % 二阶巴特沃斯(Butterworth)滤波器
D0=3; % 巴特沃斯滤波器的D0,D0越大,保留的高频信号就越少(对于不同的图片,可以自行调节,以便得到好的效果)
for i=1:M
for j=1:N
D=sqrt((i-M/2)^2+(j-N/2)^2); %计算离0频率(M/2N/2)的距离
h=1/(1+(D0/D)^(2*n)); %计算传递函数的值
output(ij)=h*g(ij); %高通滤波之后(ij)处的值
end
end
result=ifftshift(output); %与g=fftshift(g)对应,还原回去
I=ifft2(result); %傅里叶反变换
I=uint8(real(I)); %得到滤波之后的图像(锐化之后的图像)
figure
imshow(I) %滤波后图像显示
title(‘锐化之后的图像‘)
%直方图均衡化处理
I=histeq(I); %得到直方图均衡化之后的图像
figure
imshow(I)
title(‘直方图均衡之后的图像‘)
%边缘检测
I1=edge(I‘prewitt‘);
I2=edge(I‘roberts‘);
I3=edge(I‘sobel‘);
figure
imshow(I1)
title(‘prewitt边缘检测之后的图像‘)
figure
imshow(I2)
title(‘roberts边缘检测之后的图像‘)
figure
imshow(I3)
title(‘sobel边缘检测之后的图像‘)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-06-15 22:14 图像预处理\
文件 21570 2017-04-16 12:04 图像预处理\abc.png
文件 1564 2017-06-15 22:14 图像预处理\yuchuli.m
相关资源
- Matlab串口接收数据
- 四维数据matlab空间建模scatter和slice
- 统计学习方法隐马尔可夫模型前向后
- matlab 自适应控制程序
- matlab的APF仿真
- matlab仿真UR5机器人动作
- 三电平空间适量调制matlab仿真
- Matlab实现2048游戏经典
- 眼底血管匹配滤波MATLAB源码
- 最大熵模型
- gps精密单点定位后处理方法matlab代码
- 简单有效的LDPC码BP译码算法 MATLAB
- 在线SVR,Matlab版本。直接可以使用
- lorenz混沌系统matlab程序
- 均值漂移的MATLAB程序
- matlab运动视频跟踪及轨迹显示 值得看
- MATLAB卡尔曼滤波伪距单点定位
- 基于matlab的gui信号发生器
- MATLAB实现基于TCPIP的通信
- 0.618法和fibonacci法matlab算法
- 维纳滤波和约束最小二乘滤波图像复
- MATLAB密度聚类程序
- matlab编写6-SPS并联机器人工作空间的程
- matlab圆形提取
- 近邻传播聚类affinity propagation cluster
- 遗传算法解决非线性规划问题的Matl
- PSO优化RBFNN的MATLAB源代码
- 光纤激光器matlab数值模拟
- 风光柴储混合发电的matlab仿真模型
- ESPRIT算法MATLAB仿真程序
评论
共有 条评论