matlab图像处理阈值分割

hurleycool 2020-03-04 11:59:29
我做毕设时遇到了一个问题,用matlab对一个RGB图像设置亮度和饱和度阈值,亮度阈值是(I=(Ir+Ig+Ib)/3 )> Ta*Imax,Imax是所有像素的最大I,饱和度阈值是 (S=1-min(Ir,Ib,Ig)/I)<Tb*Smax,Smax是所有像素的最大S,下面是我的代码,想问一下哪里有问题:   close all;clear all;clc; I=imread('test.jpg'); R=I; R(:,:,2)=0; R(:,:,3)=0; G=I; G(:,:,1)=0; G(:,:,3)=0; B=I; B(:,:,1)=0; B(:,:,2)=0; [m,n]=size(I); Ta=0.5; Tb=0.5; Imax=0; Smax=0; %look for Imax and Smax for i=1:m     for j=1:n         I0=(R(i,j)+G(i,j)+B(i,j))/3;         if I0>Imax             Imax=I0;         end         M=[R(i,j),G(i,j),B(i,j)];         Min=min(M);         S0=1-Min/I0;         if S0>Smax             Smax=S0;         end     end end %threshold segement Inew=I; for i=1:m     for j=1:n         I1=(R(i,j)+G(i,j)+B(i,j))/3;         M=[R(i,j),G(i,j),B(i,j)];         Min=min(M);         S1=1-Min/I1;         if(I1<=Ta*ImaxS1>=Tb*Smax)             Inew(i,j)=0;         end     end end figure, subplot(121),imshow(I); subplot(122),imshow(Inew);
...全文
355 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧