フィルターのクリア

I am applying region growing on edge detected image,but not getting output,Is the code right

1 回表示 (過去 30 日間)
Poonam
Poonam 2013 年 2 月 27 日
function[g]=hueedge(f)
hsv=rgb2hsv(f);
H=hsv(:,:,1);
sh=fspecial('sobel');
sv=sh;
Gx=conv2(double(H(:,:,1)),sh);
Gy=conv2(double(H(:,:,1)),sv);
Gxy=sqrt(Gx.^2+Gy.^2);
w=[1,1,1;1,-8,1;1,1,1];
Gxy2=conv2(double(H),w);
g=Gxy-Gxy2;
%s=histeq(h);
%markerImage =imsubtract(s,2);
%g = imreconstruct(markerImage,h);
%w=ones(1);
%g=imsubtract(s,w);
This is my code edge detection on hsv image,now i have done REGION GROWING on this edge detected image, BUT NOT GETTING THE OUTPUT
here is the code for Region Growing on edge detected image
function pg=regiong(hsv)
h=hsv(:,:,1);
s=hsv(:,:,2);
v=hsv(:,:,3);
for i=1:size(hsv)
for j=1:size(hsv)
dh=h(x+i,y+j,1)-h(x,y,1).^2;
ds=s(x+i,y+j,1)-h(x,y,2).^2;
dv=v(x+i,y+j,1)-h(x,y,3).^2;
end
end
dist=sqrt(dh+ds+dv);
r=size(hsv);
c=size(hsv);
seed=[r./2,c./2];
rcount=1;
i=1;
j=1;
pg(i)=seed;
cases=input('choice');
switch cases
case 1
while pg(i)~=0
cp=pg(i);
i=i-1;
for k=1:8
if cp(k)~=0
dist=dist(seed,cp(k));
if(dist<thr)
cp(k)=rcount;
i=i+1;
pg(i)=cp(k);
else
j=j+1;
bp(j)=cp(k);
end
end
end
end
case 2
while bp~=0
seed=bp(j);
j=j-1;
rcount=rcount+1;
i=1;
pg(i)=seed;
end
case 1;
end
Is this code right, am I doing some mistake ,please give some specific answer with explaination

回答 (0 件)

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by