资源简介
MATLAB程序(图像去噪 滤波 锐化 边缘检测),对研究图像处理算法有帮助!
代码片段和文件信息
clear;clc;close all
%读取图像
I=imread(‘1.jpg‘);
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边缘检测之后的图像‘)
msgbox(‘MATLAB编程答疑,请加QQ: 993878382‘‘MATLAB答疑‘‘help‘)
web http://993878382.qzone.qq.com -browser
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5551 2009-05-24 12:49 MATLAB实现图像去噪 滤波 锐化 边缘检测 源程序代码\1.jpg
文件 1671 2014-02-05 20:54 MATLAB实现图像去噪 滤波 锐化 边缘检测 源程序代码\chengxu.m
文件 291 2014-02-05 20:17 MATLAB实现图像去噪 滤波 锐化 边缘检测 源程序代码\联系我们.txt
目录 0 2014-02-05 20:55 MATLAB实现图像去噪 滤波 锐化 边缘检测 源程序代码
----------- --------- ---------- ----- ----
7513 4
- 上一篇:MATLAB多径+扩频+rake接受+误码率曲线
- 下一篇:双门限法语音端点检测
相关资源
- MATLAB多径+扩频+rake接受+误码率曲线
- 二维云模型MATLAB
- 用于解决复杂网络社区划分的FastNew
- MIMO 注水算法 Matlab代码
- 分布式电源接入对配电网的影响
- matlab材料力学剪力图弯矩图绘制程序
- 路径规划 matlab
- Matlab图像识别
- 图像滤波Matlab代码
- 微电网光伏并网过程进行仿真microgr
-
双极性SPWM的simuli
nk仿真 - 无网格matlab程序
- 将世界时间转换为格林威治恒星时的
- MATLAB串口采集数据进阶
- MATLABGUI图割法(Grabcut)对象分割
- Matlab光学实验程序
- 人眼识别matlab
- 传染病模型的MATLAB程序和图数学模型
- VREP与MATLAB联合仿真程序--UR5机械臂动
- MATLAB-robotic-toolbox工具箱学习笔记
- 用matlab实现银行卡卡号定位并自动切
- 采用格子bolzmann方法MATLAB模拟圆柱绕流
- matlab 实现语音增强含维纳滤波、谱减
- 费诺编码matlab程序
- 单相桥式整流电路闭环相控调压
- 基于LDA(fisherface)和KNN的人脸识别
- jakes model实现锐利多径的matlab代码
- 用matlab实现均值滤波去除高斯白噪声
- Matlab语音合成程序
- 支持向量机刀具磨损预测模型及MATL
评论
共有 条评论