Filter löschen
Filter löschen

Addition of more than one image is no not possible in for loop?

1 Ansicht (letzte 30 Tage)
I want to segment an image region grow algorithm. I have taken seed points using getpts. My code is executed. I have obtained individual images in each iteration. But I want all segmented region in one image at last iteration. But I cannot get that. Please help me to overcome this problem.
close all;
I=imread('CT6.jpg');
I=im2double(I);
I=rgb2gray(I);
figure,imshow(I);
hold on;
[y x]=getpts;
n=length(x);
hold off;
J=zeros(10,10);
for i=1:n-1
x(i)=round(x(i));
y(i)=round(y(i));
J = regiongrowing(I,x(i),y(i),0.1);
%J=(J,J);
K=imadd(J,J)
figure,imshow(J);
end
figure,imshow(J);
  5 Kommentare
Geoff Hayes
Geoff Hayes am 13 Okt. 2014
@Image Analyst - I think that Jhilam means to add/layer all images on top of one another using imadd.
Image Analyst
Image Analyst am 13 Okt. 2014
I added another answer after you pointed that out. See below.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 13 Okt. 2014
Bearbeitet: Image Analyst am 13 Okt. 2014
Try adding J to the prior K rather than to J (itself).
if i == 1
K = double(J);
else
K = K + J;
end
imshow(K, []);
drawnow;

Weitere Antworten (1)

Image Analyst
Image Analyst am 12 Okt. 2014
Try using subplot() instead of using figure:
close all;
I=imread('CT6.jpg');
I=im2double(I);
I=rgb2gray(I);
figure,imshow(I);
hold on;
[y x]=getpts;
n=length(x);
hold off;
subPlotRows = ceil(sqrt(n));
J=zeros(10,10);
for i=1:n-1
x(i)=round(x(i));
y(i)=round(y(i));
J = regiongrowing(I,x(i),y(i),0.1);
%J=(J,J);
K=imadd(J,J)
subplot(subPlotRows, subPlotRows, i)
imshow(J);
end

Kategorien

Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by