Roberts边缘检测算子

Roberts提出了这种寻找边缘的算子。Roberts边缘算子是一个2x2的模板,采用的是对角方向相邻的两个像素之差。从图像处理的实际效果来看,边缘定位较准,对噪声敏感

Roberts边缘检测算子_第1张图片


clear all;
sourcePic=imread('9.jpg'); %读取原图像
grayPic=rgb2gray(sourcePic); %转换成灰度图像
subplot(131);imshow(grayPic);title('原图');
[high,width]=size(grayPic);
newGrayPic=grayPic;%为保留图像的边缘一个像素
robertsNum=0; %经roberts算子计算得到的每个像素的值
robertThreshold=0.9; %设定阈值
for j=1:high-1 %进行边界提取
for k=1:width-1
robertsNum = abs(grayPic(j,k)-grayPic(j+1,k+1)) + abs(grayPic(j+1,k)-grayPic(j,k+1));
newGrayPic(j,k)=robertsNum;
end
end
subplot(132);imshow(newGrayPic);title('roberts算子的处理结果');
% Matlab自带函数边缘检测
% K为获取得到的关键帧的灰度图
BW3 = edge(grayPic,'roberts', 0.03);
subplot(133);imshow(BW3,[]);title('Matlab自带函数边缘检测');

Roberts边缘检测算子_第2张图片

Roberts边缘检测算子_第3张图片

你可能感兴趣的:(Roberts,边缘检测算子)