【图像分类】基于朴素贝叶斯分类器实现柑橘果实分类matlab代码

1 简介

朴素贝叶斯法是贝叶斯分类学中使用较为广泛的算法。该算法本身来源于贝叶斯定理。在确定目标时,认为各部分的属性特征相互独立,每个对象的特征矢量的维度也都相互独立,互不相关。在进行病斑区域分割时,将训练集分成前景和背景,并确定前景与背景的属性特征。基于朴素贝叶斯法的病斑提取同样进行 HSV 和 LAB 变换,形成六维特征空间的颜色空间。随机选取2类数据样本图像上的像素点进行分析,求得每个特征属性的概率值,并根据概率最大的类别来判定该像素的隶属类别。​

2 部分代码

function [Result]=Function_MaxFilter_(I_biner,windows_size)

pad_size=(windows_size-1)/2;

% ukuran baris dan kolom dari I_biner
[mI_biner,nI_biner]=size(I_biner);

% inisialisasi vektor X={x1,x2,.....,xN}
X_=zeros(mI_biner*nI_biner,windows_size^2);

% inisialisasi matrik penampung I_biner
PI_biner=padarray(I_biner,[pad_size pad_size]);

% inisialisasi index matrik PI_biner
Index_PI_biner=1:(mI_biner+(2*pad_size))*(nI_biner+(2*pad_size));

% convert index to xy
[pix,piy] = Index2XY(Index_PI_biner,mI_biner+(2*pad_size));

% mengambil index matrik I_biner yang ada pada matrik PI_biner
xIndex_I_biner_dlm_PI_biner=find(pix>pad_size & pix<(mI_biner+pad_size+1));
yIndex_I_biner_dlm_PI_biner=find(piy>pad_size & piy<(nI_biner+pad_size+1));

% mengambil irisan xIndex_I_biner_dlm_PI_biner dan
% yIndex_I_biner_dlm_PI_biner
xyIndex_I_biner_dlm_PI_biner=intersect(xIndex_I_biner_dlm_PI_biner,yIndex_I_biner_dlm_PI_biner);

ibx=pix(xyIndex_I_biner_dlm_PI_biner);
iby=piy(xyIndex_I_biner_dlm_PI_biner);

% ----------------------------------------------------------------
% membuat penambah_x dan penambah_y otomatis
% ----------------------------------------------------------------
interval_xy=-pad_size:pad_size;

% repeat matrik interval_xy
matrik_repeat_interval_xy=kron(interval_xy,ones(windows_size,1));
penambah_x=sort(matrik_repeat_interval_xy(:));
matrik_repeat_interval_xy=matrik_repeat_interval_xy';
penambah_y=matrik_repeat_interval_xy(:);

for i=1:(windows_size^2)
   % ------------------------------------------------------------------------%
   % untuk X kolom i
       X_i=ibx+penambah_x(i);
       Y_i=iby+penambah_y(i);        
  
   % convert X_i,Y_i menjadi Index
   Index_PI_biner_i= XY2Index(X_i,Y_i,(mI_biner+(2*pad_size)));

   % mengisi X_ kolom i
   X_(:,i)=PI_biner(Index_PI_biner_i);
   % ------------------------------------------------------------------------%
end

Result=reshape(max(X_')',[mI_biner nI_biner]);

3 仿真结果

【图像分类】基于朴素贝叶斯分类器实现柑橘果实分类matlab代码_第1张图片

4 参考文献

[1]束美艳等. "基于朴素贝叶斯分类的柑橘叶片溃疡病诊断." 浙江大学学报:农业与生命科学版. 

你可能感兴趣的:(图像处理,matlab,分类,开发语言)