Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit:

how to save the image

Asked by FIR on 14 Feb 2013

I have the folowing code ,plz tell how to save the circled image

k is my image

function [x1 y1 r ] = circle_saptha4(k)
ok = 0;
nim = k;
while ok~=1
  % figure;
  pt = ginput(2)
    x1 = pt(1,1);
    y1 = pt(1,2);
    x2 = pt(2,1);
    y2 = pt(2,2);
    xpt = [x1 x2];
    ypt = [y1 y2];
    %line(x,y); % Enablw this for draw rectangle on circle
    r = sqrt((x2-x1)^2 + (y2-y1)^2)
    pp=rsmak('circle',r,[x1 y1]);
    % figure;
    % imshow(k)
    xtl = x1-r;
    xtr = x1+r;
    xbl = x1-r;
    xbr = x1+r;
    ytl = y1+r;
    ytr = y1+r;
    ybl = y1-r;
    ybr = y1-r;
    x = [xtl xtr xbr xbl xtl];
    y = [ytl ytr ybr ybl ytl];
    for i=1:size(k,1)
        for j=1:size(k,2)
            x2 = j;
            y2 = i;
            val = floor(sqrt((x2-x1)^2 + (y2-y1)^2));
            if(val == floor(r))
                nim(i,j,1) = 255;
                nim(i,j,2) = 0;
                nim(i,j,3) = 0;
%             else
%                 nim(i,j,1) = k(i,j,1);
%                 nim(i,j,2) = k(i,j,2);
%                 nim(i,j,3) = k(i,j,3);
%             end
    ok = (menu('Do u want to draw another circle?','No','Yes')==1)
%     hold on





No products are associated with this question.

3 Answers

Answer by Image Analyst on 16 Feb 2013
Accepted answer

Why not use rectangle() to draw the circles into the overlay, then use export_fig (from the File Exchange) to save the image with the circles written into the image?


Image Analyst
Answer by Thorsten on 14 Feb 2013
 imwrite(nim, 'newimage.png');


Walter Roberson on 16 Feb 2013

You didn't answer my first question

Are you saying that the entire output image consists of (255,255,255) RGB triples ?

Also I notice that your outputs are x1, y1, r, but not nim, and that you do not display nim ?

FIR on 18 Feb 2013

i have imshow(nim) so image is displayed ,by calling this function,i dont know what u mean by RGB triples

Walter Roberson on 18 Feb 2013

Why do you change nim after you display it?

Why do you return x1 y1 only for the newest circle, instead of for all circles? You never even displayed that newest circle on the drawing.

What is your reason for saying "I did it but it writes only 256" ? What writes only 256 ?

Answer by dsfds on 14 May 2013
Edited by dsfds on 14 May 2013

wanna know how to how to save images to different formats in c#

check here



Contact us