資源簡介
基于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
- 上一篇:自動提取圓心
- 下一篇:matlab 神經網絡工具箱 使用教程
評論
共有 條評論