Effacer les filtres
Effacer les filtres

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

1 vue (au cours des 30 derniers jours)
Jhilam Mukherjee
Jhilam Mukherjee le 12 Oct 2014
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 commentaires
Geoff Hayes
Geoff Hayes le 13 Oct 2014
@Image Analyst - I think that Jhilam means to add/layer all images on top of one another using imadd.
Image Analyst
Image Analyst le 13 Oct 2014
I added another answer after you pointed that out. See below.

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 13 Oct 2014
Modifié(e) : Image Analyst le 13 Oct 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;

Plus de réponses (1)

Image Analyst
Image Analyst le 12 Oct 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

Catégories

En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by