91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 15KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-16
  • 語言: Matlab
  • 標簽: 圖像分割??

資源簡介

利用混合高斯模型對背景圖像進行多高斯分布學習,根據背景學習結果,利用貝葉斯理論對含有目標的圖像進行分割。

資源截圖

代碼片段和文件信息

clc;clear;close?all;

%逐幅打開圖像列表中的圖像,并計算其特征
[filenamefilepathfilterindex]?=?uigetfile(...
????{‘*.txt‘‘All?Image?Files(*.txt)‘;
????‘*.mat‘‘mat-files(*.mat)‘;...
????
????‘*.*‘‘All?Image?Files(*.*)‘}...
????‘文件名列表‘‘untitled.mat‘...
????‘multiselect‘‘off‘);

if?isequal(filename0)||isequal(filepath0)
????return;
else
???filefullpath?=?fullfile(filepathfilename);
end

fid?=?fopen(filefullpath‘r‘);

ffnum?=?fscanf(fid‘%d‘);
fwnum?=?ffnum(1);
fonum?=?ffnum(2);
fprintf(1‘\nwaterNum=%d????otherNum=%d\n‘fwnumfonum);
fnum?=?fwnum?+?fonum;

fpath?=?fgetl(fid);
fprintf(1‘\n%s\n‘fpath);

nxyA?=?zeros(fwnum1);
cmA?=?zeros(33fwnum);
mvA?=?zeros(3fwnum);??
pixelnum?=?0;

%?learn_zoom?=?1/5;
%?test_zoom?=?1/5;

%B6?pics
%?learn_zoom?=?1/10;
%?test_zoom?=?1/10;
learn_zoom_size?=?100;
test_zoom_size?=?200;

for?k?=?1:fwnum
????fName?=?fgetl(fid);?
????ffName?=?fullfile(fpathfName);
????fprintf(1‘\n%s\n‘ffName);
????img?=?imread(ffName);?????%讀取圖像
????[imximyimd]?=?size(img);
????max_xy?=?max(imximy);
????if?max_xy>learn_zoom_size
????????learn_zoom?=?learn_zoom_size/max_xy;
????????img?=?zoomImg(imglearn_zoom);
????end
????simg?=?double(img);????%轉換數據格式
????Rd?=?simg(::1);
????Gd?=?simg(::2);
????Bd?=?simg(::3);
????[nx?ny]?=?size(Rd);?????%圖像的行、列數
????nxy?=?nx?*?ny;???????????%圖像的總象素數
????fprintf(1‘\n第%d測試圖像的行數:%d???列數:%d???像素數:%d\n‘knxnynxy);
%?????subplot(221);??imshow(img);title(‘background?RGB‘);
????nxyA(k)?=?nxy;
????nxA(k)?=?nx;
????nyA(k)?=?ny;
????pixels?=?reshape(simgnxy3);
????pixelsA(pixelnum+1:pixelnum+nxy:)?=?pixels;??
????pixelnum?=?pixelnum+nxy;
end
figure(1);
subplot(221);imshow(img);title(‘background‘);grid?on;

x?=?pixelsA;
nbVar?=?size(x2);
nn?=?1000;
c?=?1;
pixelsI?=?pixelsA(1:nn:);
Mu(1:)?=?sum(pixelsI)/nn;
Sigma(::1)?=?cov([pixelsI‘?pixelsI‘]‘);
Priors(1)?=?1;
%?[Data_id?Priors?Mu?Sigma]?=?EM_init_FCM(pixelsI?c);
%?[Priors?Mu?Sigma]?=?EM(pixelsI?Priors?Mu?Sigma);
t?=?zeros(pixelnum1);
t(1:nn)?=?1;
beta?=?1;
lamda?=?3;
for?j=1:pixelnum
????for?k=1:c
????????covt?=?reshape(Sigma(::k)nbVarnbVar);
????????incov?=?inv(covt);
????????dcov?=?det(covt);
????????logd?=?log(abs(dcov));
????????logp?=?log(Priors(k));
????????T(k)?=?beta*nbVar*lamda^2-2*logp+logd;
????????a?=?x(j:)-Mu(k:);
????????tt?=?a*incov*a‘-2*logp+logd;
????????if?tt>T(k)
????????????t_3std(jk)?=?-1;
????????????N_ab(jk)?=?-10^10;
????????else
????????????t_3std(jk)?=?1;
????????????N_ab(jk)?=?-(0.5)*a*incov*a‘+logp+(-0.5)*logd;%后驗概率值????????????????????????
????????end?
????end????????
????%判斷第j個樣本是哪一類:新的類別或已知類別中的一類
????[ir?ic]?=?find(t_3std(j:)==1);
????lnstd?=?length(ir);?
????%若在所有類別的3sigma之外,則為新的類別;若在3sigma之內,則判定為后驗概率最大的那一類
????if?lnstd==0
????????????c?=?c+1;
????????????t(j)?=?c;
????????????if?j????????????????t(j+1:j+10)?=?c;
????????????end
????else
????????N_ab_max?=?max(

評論

共有 條評論