程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Matlab實現圖像分割

Matlab實現圖像分割

編輯:C++入門知識

下面使用極小值點阈值選取方法,編寫MATLAB程序實現圖像分割的功能。

極小值點阈值選取法即從原圖像的直方圖的包絡線中選取出極小值點,

並以極小值點為阈值將圖像轉為二值圖像


clear all;
close all ;
G=imread('rabbit.png');
figure();
subplot(2,2,1);
imshow(G);
subplot(2,2,2);
imhist(G);
subplot(2,2,3);
imhist(G);
[h,x]=imhist(G);
h=smooth(h,7);
plot(x,h)
%求出阈值T
df1=diff(h);%一階差分
df2=diff(df1);%二階差分
[m,n]=size(df2);
T=0;
for i=1:m
if(abs(df1(i+1))<=0.15 && df2(i)>0)
    T=x(i+2)%確定阈值
    break;
end
end
G=im2bw(G,T/255);%轉為二值圖像
subplot(2,2,4);
imshow(G);


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved