how to save the image
2 次查看(过去 30 天)
显示 更早的评论
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;
imshow(nim);
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)
fnplt(pp);
line(xpt,ypt);
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];
%line(x,y);
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
end
end
ok = (menu('Do u want to draw another circle?','No','Yes')==1)
% hold on
end
end
0 个评论
采纳的回答
Image Analyst
2013-2-16
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?
0 个评论
更多回答(2 个)
Thorsten
2013-2-14
imwrite(nim, 'newimage.png');
6 个评论
Walter Roberson
2013-2-18
编辑:Walter Roberson
2013-2-18
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 ?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Read, Write, and Modify Image 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!