pic=imread('.bmp');
figure(1);
imshow(pic);
mask = zeros(240,320,3);
for i=1:240
for j=1:320
if Mask(i,j)==1
for k=1:3
mask(i,j,k)=1;
end
end
end
end
mask=uint8(mask);
maskpic=pic.*mask;
figure(2);
imshow(maskpic);
C1 = zeros(3,3);%cov matrix
C2 = zeros(3,3);
result = zeros(240,320);
result = uint8(result);
p1 = 5264/7696;
p2 = 1-p1;
u1r = mean(array_sample(1:5264,2));%均值
u1g = mean(array_sample(1:5264,3));
u1b = mean(array_sample(1:5264,4));
u2r = mean(array_sample(5265:7696,2));
u2g = mean(array_sample(5265:7696,3));
u2b = mean(array_sample(5265:7696,4));
s1r = std(array_sample(1:5264,2));%标准差
s1g = std(array_sample(1:5264,3));
s1b = std(array_sample(1:5264,4));
s2r = std(array_sample(5265:7696,2));
s2g = std(array_sample(5265:7696,3));
s2b = std(array_sample(5265:7696,4));
c13=zeros(2,2);
c23=zeros(2,2);
c13=cov(array_sample(1:5264,2),array_sample(1:5264,4));
%c23=cov(array_sample(1:5264,3),array_sample(1:5264,4));
C1(1:2,1:2)=cov(array_sample(1:5264,2),array_sample(1:5264,3));
C1(1,3)=c13(1,2);
C1(3,1)=c13(1,2);
C1(2:3,2:3)=cov(array_sample(1:5264,3),array_sample(1:5264,4));
c13=cov(array_sample(5265:7696,2),array_sample(5265:7696,4));
C2(1:2,1:2)=cov(array_sample(5265:7696,2),array_sample(5265:7696,3));
C2(2:3,2:3)=cov(array_sample(5265:7696,3),array_sample(5265:7696,4));
C2(3,1)=c13(1,2);
C2(1,3)=c13(1,2);
U1=[u1r u1g u1b];
U2=[u2r u2g u2b];
%pl1 = (exp(-0.5*[(a(i,j,1)-u1r),(a(i,j,2)-u1g),(a(i,j,3)-u1b)]*inx(C1)*[(a(i,j,1)-u1r),(a(i,j,2)-u1g),(a(i,j,3)-u1b)]'))/(((2*pi)^1.5*)sqrt(det(C1)));
for i = 1:240
for j = 1:320
if maskpic(i,j,1) ~= 0
X=[double(maskpic(i,j,1))/double(255) double(maskpic(i,j,2))/double(255) double(maskpic(i,j,3))/double(255)];
%pl1 = (exp(-0.5*[(maskpic(i,j,1)-u1r),(maskpic(i,j,2)-u1g),(maskpic(i,j,3)-u1b)]'*inv(C1)*[(maskpic(i,j,1)-u1r),(maskpic(i,j,2)-u1g),(maskpic(i,j,3)-u1b)]))/(((2*pi)^1.5)*sqrt(det(C1)));
pc1 = (exp(-0.5*(X-U1)*(inv(C1))*(X-U1)'))/(((2*pi)^1.5)*sqrt(det(C1)));
pc2 = (exp(-0.5*(X-U2)*(inv(C2))*(X-U2)'))/(((2*pi)^1.5)*sqrt(det(C2)));
pl1 = pc1*p1/(pc1*p1+pc2*p2);
pl2 = pc2*p2/(pc1*p1+pc2*p2);
if pl1 >= pl2
result(i,j)=255;
else
result(i,j)=100;
end
end
end
end
figure(3);
imshow(result);
rgbwork.zip_RGB-D_RGB三维高斯图像分割_RGB分割_rgb 分割_三维分割
版权申诉
181 浏览量
2022-07-15
12:25:57
上传
评论
收藏 148KB ZIP 举报
小贝德罗
- 粉丝: 70
- 资源: 1万+
最新资源
- 课设毕设基于SSM的旅游景点线路网站 LW+PPT+源码可运行.zip
- EDA实验计数器CNT9999-DTCNT9999实验源代码
- 课设毕设基于SSM的抗疫医疗用品销售平台 LW+PPT+源码可运行.zip
- 基于Halcon的仿照VisonPro的机器视觉软件.zip
- battery-percentage-detector 使用 Javascript 的电池百分比检测器
- 毕业设计基于Qt+FFmpeg+SDL实现的音视频播放器源码.zip
- 课设毕设基于SSM的固定资产管理系统 LW+PPT+源码可运行.zip
- 课设毕设基于SSM的个人交友网站 LW+PPT+源码可运行.zip
- 课设毕设基于SSM的高校信息资源共享平台 LW+PPT+源码可运行.zip
- 课设毕设基于SSM的高校二手交易平台 LW+PPT+源码可运行.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈