资源简介

基于matlab,灰度化图像后,用Prewitt算子进行图像分割。

资源截图

代码片段和文件信息

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

Img=imread(‘catdog.jpg‘); %读取原图像
grayImg=mat2gray(Img);    %实现图像矩阵的归一化操作
[mn]=size(grayImg);
newGrayImg=grayImg;             %为保留图像的边缘一个像素
PrewittNum=0;                   %经Prewitt算子计算得到的每个像素的值,初始值为0
PrewittThreshold=0.5;           %设定阈值

%进行边界提取
for j=2:m-1 
    for k=2:n-1
        PrewittNum=abs(grayImg(j-1k+1)-grayImg(j+1k+1)+grayImg(j-1k)-grayImg(j+1k)+grayImg(j-1k-1)-grayImg(j+1k-1))+abs(grayImg(j-1k+1)+grayImg(jk+1)+grayImg(j+1k+1)-grayImg(j-1k-1)-grayImg(jk-1)-grayImg(j+1k-1));
        if(PrewittNum > PrewittThreshold)
            newGrayImg(jk)=255;
        else
            newGrayImg(jk)=0;
        end
    end
end
figureimshow(newGrayImg);
title(‘Prewitt算子的处理结果‘)
imwrite(newGrayImg‘result\Prewitt.jpg‘);

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

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

     文件        875  2018-12-25 15:21  Prewitt\Prewitt.m

     文件      43046  2018-12-25 15:21  Prewitt\result\Prewitt.jpg

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

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

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

                70253                    5


评论

共有 条评论