• 大小: 58KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-12
  • 语言: Matlab
  • 标签: Sobel  matlab  

资源简介

使用微分Sobel算子进行边缘检测,得到目标的大致轮廓!

资源截图

代码片段和文件信息

%%----sobel算子边缘检测分割-------
clc
clear

Im=imread(‘catdog.jpg‘);
grayImg=mat2gray(Im);      %实现图像矩阵的归一化操作
[mn]=size(grayImg);
newGrayImg=grayImg;        %为保留图像的边缘一个像素
sobelNum=0;                %经sobel算子计算得到的每个像素的值,初始值为0
sobelThreshold=0.8;        %设定阈值

%进行边界提取
 for j=2:m-1
    for k=2:n-1
        sobelNum=abs(grayImg(j-1k+1)+2*grayImg(jk+1)+grayImg(j+1k+1)-grayImg(j-1k-1)-2*grayImg(jk-1)-grayImg(j+1k-1))+abs(grayImg(j-1k-1)+2*grayImg(j-1k)+grayImg(j-1k+1)-grayImg(j+1k-1)-2*grayImg(j+1k)-grayImg(j+1k+1));
        if(sobelNum > sobelThreshold)
            newGrayImg(jk)=255;
        else
            newGrayImg(jk)=0;
        end
    end
 end

 %结果输出及保存
figureimshow(newGrayImg);
title(‘Sobel算子的处理结果‘)
imwrite(newGrayImg‘result\Sobel.jpg‘);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      26332  2018-12-13 14:42  Sobel\catdog.jpg

     文件      33794  2018-12-25 15:05  Sobel\result\Sobel.jpg

     文件        865  2018-12-25 15:04  Sobel\Sobel.m

     目录          0  2018-12-25 15:33  Sobel\result

     目录          0  2018-12-25 15:33  Sobel

----------- ---------  ---------- -----  ----

                60991                    5


评论

共有 条评论