Matlab中米粒影象處理,米粒個數和大小計算
阿新 • • 發佈:2019-01-28
clear; clc;
% 讀取圖片rice.png
I=imread(‘rice.png’);
% 獲取圖片的背景
BG=imopen(I,strel(‘disk’,15));
%得到背景均勻的圖片
I2=imsubtract(I,BG);
%得到二值化的圖片
level=graythresh(I2);
BW=im2bw(I2,level);
% labeled是處理後的矩陣,numObjects是米粒的個數;
[labeled,numObjects]=bwlabel(BW,8);
% 取一個空矩陣A,用來存放每個米粒佔用的畫素點數目;
[m,n]=size(labeled);
A=zeros(numObjects,1);
% 該迴圈用來統計每個米粒的大小,例如,第 i 個米粒的大小,儲存在A(i)中;
for x=1:numObjects
for i=1:m
for j=1:n
if labeled(i,j)==x
A(x)=A(x)+1;
end
end
end
end