資源簡介
對輸入的圖像,用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
評論
共有 條評論