彩色图像分割
一、实验目的:熟悉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');
运行结果截图:
作者:你的雷哥
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!