數字圖像處理|Matlab-圖像分割與邊緣檢測實驗-採用閾值處理方法進行圖像分割

Matlab-圖像分割與邊緣檢測實驗-採用閾值處理方法進行圖像分割

代碼鏈接:https://download.csdn.net/download/qq_43571150/12033271

問題
實現直方圖閾值法,具體方法爲採用灰度直方圖求雙峯或多峯,選擇兩峯之間的谷底作爲閾值,將圖像轉換爲2值圖像。

圖像結果👇
在這裏插入圖片描述

Matlab代碼👇

I=imread('05.jpg');       %讀取當前路徑下的圖片
I1=rgb2gray(I);
subplot(2,2,1);imshow(I1);title('灰度圖像');

grid on;                        %顯示網格線
axis on;                        %顯示座標系
[m,n]=size(I1);                 %測量圖像尺寸參數
GK=zeros(1,256);                %預創建存放灰度出現概率的向量
for k=0:255
	 GK(k+1)=length(find(I1==k))/(m*n);             %計算每級灰度出現的概率,將其存入GK中相應位置
end
subplot(2,2,2),bar(0:255,GK,'g')                    %繪製直方圖

title('灰度直方圖')
xlabel('灰度值')
ylabel('出現概率')
I2=im2bw(I,200/255); 	
subplot(2,2,3),imshow(I2);title('直方圖閾值處理分割圖像')
imwrite(I2,'05 直方圖閾值200的分割圖像.jpg');
grid on;                         %顯示網格線
axis on;                         %顯示座標系
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章