• 大小: 3KB
    文件类型: .m
    金币: 2
    下载: 0 次
    发布日期: 2024-02-01
  • 语言: Matlab
  • 标签: lab  图像分割  

资源简介

基于lab空间下的图像分割,matlab代码,适合初学分割的人

资源截图

代码片段和文件信息

fabric = imread(‘d:\cs\DSC02030.JPG‘);%读取图像
figure; subplot(121); imshow(fabric) %显示
title(‘fabric‘);
load regioncoordinates;%下载颜色区域坐标到工作空间
nColors = 6;
sample_regions = false([size(fabric1) size(fabric2) nColors]);
for count = 1:nColors
  sample_regions(::count) = roipoly(fabric...
  region_coordinates(:1count) ...
  region_coordinates(:2count));%选择每一小块颜色的样本区域
end
subplot(122)
imshow(sample_regions(::2));%显示红色区域的样本
title(‘sample region for red‘);
cform = makecform(‘srgb2lab‘);%rgb空间转换成L*a*b*空间结构
lab_fabric = applycform(fabriccform);%rgb空间转换成L*a*b*空间
a = lab_fabric(::2); b = lab_fabric(::3);
color_markers = repmat(0 [nColors 2]);%初始化颜色均值
for count = 1:nColors
color_markers(count1)= mean2(a(sample_regions(::count)));%a均值
color_markers(count2)= mean2(b(sample_regions(::count)));%b均值
end
disp(sprintf(‘[%0.3f%0.3f]‘color_markers(21)...
    color_markers(22)));%显示红色分量样本的均值
color_labels = 0:nColors-1;
a = double(a); b = double(b);
distance = repmat(0[size(a) nColors]);%初始化距离矩阵
for count = 1:nColors
  distance(::count) = ( (a - color_markers(count1)).^2 + ...
     (b - color_markers(count2)).^2 ).^0.5;%计算到各种颜色的距离
end
[val

评论

共有 条评论