0
点赞
收藏
分享

微信扫一扫

彩色图像分割

whiteMu 2022-06-28 阅读 74

一、实验目的:熟悉RGB空间的彩色图像分割方法

二、实验内容:以redflower.jpg图像为例,采用边界盒方法分割出该图像中的红色花朵,通过改变标准偏差的系数值,观察对分割结果产生的影响

原图:

彩色图像分割_赋值

1 rgb=imread('D:/redflower.jpg');
2 figure,
3 subplot(2,2,1);
4 imshow(rgb)
5 rgb1=im2double(rgb);
6 r=rgb1(:,:,1);%图像的红色分量
7 g=rgb1(:,:,2);%图像的绿色分量
8 b=rgb1(:,:,3);%图像的蓝色分量
9 r1=r(130:195,86:170);%在?的红分量中选择一块矩形区域,由输入可知size(r)=(195 ,218),改变选择的行列可以改变标准偏差的标准值
10 r1_u=mean(mean(r1(:)));%计算该矩形区域的均值
11 [m,n]=size(r1);%得到该矩形区域的高度和宽度
12 sd1=0.0;;%该区域标准偏差变量
13 for i=1:m
14 for j=1:n
15 sd1=sd1+(r1(i,j)-r1_u)*(r1(i,j)-r1_u);%二重循环对差值的平均进行累加
16 end
17 end
18 r1_d=sqrt(sd1/(m*n));%计算得到该区域的标准偏差
19 r2=zeros(size(rgb1,1),size(rgb1,2));
20 ind=find((r>r1_u-1.10*r1_d)&(r<r1_u+1.10*r1_d));%找到符合条件的点
21 r2(ind)=1;%将符合条件的点的灰度值赋值为1
22 subplot(2,2,2);
23 imshow(r2);
24 title('标准差为1.10');
25 ind=find((r>r1_u-1.20*r1_d)&(r<r1_u+1.20*r1_d));
26 r2(ind)=1;
27 subplot(2,2,3);
28 imshow(r2);
29 title('标准差为1.20');
30 ind=find((r>r1_u-1.30*r1_d)&(r<r1_u+1.30*r1_d));
31 r2(ind)=1;
32 subplot(2,2,4);
33 imshow(r2);
34 title('标准差为1.30');

运行结果截图:

彩色图像分割_标准差_02

作者:你的雷哥

本文版权归作者所有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。

举报

相关推荐

0 条评论