彩色图像分割(欧几里得距离,Mahalanobis距离)、数字图像处理Matlab版

本文探讨了使用RGB图像分割技术,通过选取ROI区域,分别应用欧几里得距离和马哈拉诺比斯距离进行颜色空间分析。实验结果显示,Mahalanobis距离在活火山熔岩区域的分割效果优于欧氏距离,展示了在图像分析中不同距离度量的适用性。
摘要由CSDN通过智能技术生成
%RGB图像分割
f = imread('spark.tif');
figure,imshow(f);

%选取感兴趣区域ROI
mask = roipoly(f);
R = immultiply(mask,f(:,:,1));
G = immultiply(mask,f(:,:,2));
B = immultiply(mask,f(:,:,3));
g = cat(3,R,G,B);
figure,imshow(g);

%找出平均矢量m和协方差矩阵C
[M,N,K] = size(g);
%重新排列g中的彩色元素
I = reshape(g,M*N,3);
%找出彩色像素的行索引
idx = find(mask);
I = double(I(idx,1:3));
%计算平均矢量m和协方差矩阵C
[C,m] = covmatrix(I);
%计算C的对角线元素并计算它们的平方根
%sd中的第一二三个元素是ROI区域中的红绿蓝分量的标准差
d = diag(C);
sd = sqrt(d);

%用欧几里得距离来计算
%以T的25倍作为阈值,这个值是最大标准差的近似
E25 = colorseg('euclidean',f,25,m);
subplot(2,2,1),imshow(E25);
%以T的50倍作为阈值
E50 = colorseg('euclidean',f,50,m);
subplot(2,2,2),imshow(E50);
%以T的75倍作为阈值
E75 = colorseg('euclidean',f,75,m);
subplot(2,2,3),imshow(E75);
%以T的100倍作为阈值
E100 = colorseg('euclidean',f,100,m);
subplot(2,2,4),imshow(E100);

%用Mahalanobis距离来计算
%以T的25倍作为阈值,这个值是最大标准差的近似
M25 = colorseg('mahalanobis',f,25,m,C);
subplot(2,2,1),imshow(M25);
%以T的50倍作为阈值
M50 = colorseg('mahalanobis',f,50,m,C);
subplot(2,2,2),imshow(M50);
%以T的75倍作为阈值
M75 = colorseg('mahalanobis',f,75,m,C);
subplot(2,2,3),imshow(M75);
%以T的100倍作为阈值
M100 = colorseg('mahalanobis',f,100,m,C);
subplot(2,2,4),imshow(M100);

下面分布显示原图像和所选取的ROI区域:

 图1(原图像:木星的卫星表面区域的伪彩色图像)

 图2(ROI区域:活火山喷射出来的熔岩——红色区域)

 图3(选用欧几里得距离来分割所得的结果)

  图4(选用Mahalanobis距离来分割所得的结果)

通过这样的两种处理,我们根据所得到的图像,从图像分析中,我们可以知道,相比于欧几里得距离分割算法来说,mahalanbis算法分割所得到的分割图像的效果更好(分割提取到的活火山的区域)。

若这对您有帮助的话,请您点个小赞吧,您的支持是我不断分享的源动力。非常感谢

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值