资源简介
对输入的图像,用Roberts算子处理,找到目标边缘,达到分割的目的
代码片段和文件信息
%%----sobel算子边缘检测分割-------
clc
clear;
Im=imread(‘catdog.jpg‘); %读取原图像
grayImg=mat2gray(Im); %实现图像矩阵的归一化操作
[mn]=size(grayImg);
newGrayImg=grayImg; %为保留图像的边缘一个像素
robertsNum=0; %经Roberts算子计算得到的每个像素的值初始值为0
robertThreshold=0.2; %设定阈值
%进行边界提取
for j=1:m-1
for k=1:n-1
robertsNum = abs(grayImg(jk)-grayImg(j+1k+1)) + abs(grayImg(j+1k)-grayImg(jk+1));
if(robertsNum > robertThreshold)
newGrayImg(jk)=255;
else
newGrayImg(jk)=0;
end
end
end
%结果输出与保存
figureimshow(newGrayImg);
title(‘Roberts算子的处理结果‘);
imwrite(newGrayImg‘result\Roberts.jpg‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 26332 2018-12-13 14:42 Roberts\catdog.jpg
文件 29723 2018-12-25 15:06 Roberts\result\Roberts.jpg
文件 728 2018-12-25 15:06 Roberts\Roberts.m
目录 0 2018-12-25 15:33 Roberts\result
目录 0 2018-12-25 15:33 Roberts
----------- --------- ---------- ----- ----
56783 5
评论
共有 条评论