资源简介
matlab边缘检测程序,包括:'罗伯特梯度','Prewitt算法','Sobel梯度','Laplace算子','Laplace算子扩展模板','方向算子'。
代码片段和文件信息
function [ Result ] = Edge_detect( Kk )
%UNtitleD 此处显示有关此函数的摘要
% 此处显示详细说明
% 将图片读入矩阵
A=double(K);
[Row ColThi]=size(A);
Result=zeros(RowCol);
% 选择待增强的波段
if Thi>1
n=input(‘请选择待处理的波段:‘);
B=A(::n);
else
B=A;
end
dim=5;
Mod=ones(dimdim);
for i=(dim+1)/2:(Row-(dim+1)/2)
for j=(dim+1)/2:(Col-(dim+1)/2)
C=B((i-(dim-1)/2):(i+(dim-1)/2)(j-(dim-1)/2):(j+(dim-1)/2));
D=Mod.*C;
B(ij)=mean2(D);
end
end
% 选择要执行的操作
str={‘罗伯特梯度‘‘Prewitt算法‘‘Sobel梯度‘‘Laplace算子‘‘Laplace算子扩展模板‘‘方向算子‘};
[selok]=listdlg(‘Liststring‘str‘PromptString‘‘请选择操作 ‘ ‘SelectionMode‘‘single‘);
% 罗伯特梯度
if sel==1
for i=2:(Row-1)
for j=2:(Col-1)
Result(ij)=abs(B(ij)-B(i+1j+1))+abs(B(i+1j)-B(ij+1));
end
end
% Prewitt算法
elseif sel==2
T1=[-1-1-1;000;111];
T2=[-101;-101;-101];
for i=2:(Row-1)
for j=2:(Col-1)
C=B((i-1):(i+1)(j-1):(j+1));
D1=C.*T1;
D2=C.*T2;
p=sum(D1(:));
q=sum(D2(:));
Result(ij)=abs(p)+abs(q);
end
end
% Sobel梯度
elseif sel==3
T1=[-1-2-1;000;121];
T2=[-101;-202;-101];
for i=2:(Row-1)
for j=2:(Col-1)
C=B((i-1):(i+1)
- 上一篇:500w逆变器
- 下一篇:matlab的K-mean图像分类程序
相关资源
- matlab的K-mean图像分类程序
- GSO算法matlab代码
- 支持向量机手写体识别matlab
- mackey glass
- svg 仿真五个h桥级联
- 布朗运动MATLAB代码
- 内点法Matlab
- matlab加载ply文件程序
- 基于matlab的svpwm仿真
- 拟一维喷管流动的数值解
- G-P算法计算关联维数
- 四步相移法 matlab
- ISAR成像仿真matlab
- matlab2017b百度云
- 自适应遗传算法matlab程序
- 指针式仪表识别方法,确定指针式仪
- 一种多输出svr算法
- 简支梁内力计算matlab程序
- 配电网故障定位matlab程序
- 卷积神经网络CNN代码解析-matlab.doc
- Matlab_DSPBuilder实现DDS的设计
- 垂直发射弹道仿真程序(采用四元数
- jpeg标准亮度与色度量化表(质量因子
- PRI变换的matlab程序
- 数字图像处理matlab源代码
- 大数据可视化在医疗领域的应用
- 基于MATLAB_SIMULIN_省略_网型双馈风力发
- sg平滑 matlab语言
- 人工神经网络(ANN)程序
- 直驱永磁最大功率捕捉matlab仿真建模
评论
共有 条评论