figure;imshow(Ims);
hold on
for k = 1:length(B)
boundary = B{k};
plot(boundary(:,2), boundary(:,1), 'k', 'LineWidth', 2)
end
I want the image in the figure to be save as png file via code,not by using save as option from figure
have used saveas but it print entire figur in png format,iwant the image of original sized to be saved

 Réponse acceptée

Image Analyst
Image Analyst le 15 Mar 2015
Modifié(e) : Image Analyst le 15 Mar 2015

0 votes

Write to the image instead of plotting over it in the overlay :
imshow(Ims);
hold on
for k = 1:length(B)
thisBoundary = B{k};
rows = thisBoundary(:, 1);
columns = thisBoundary(:, 2);
for p = 1 : length(rows)
thisRow = rows(p);
thisColumn = columns(p);
Ims(thisRow, thisColumn, :) = uint8([0, 0, 0]);
end
end
imshow(Ims);
drawnow;
imwrite(Ims, filename);
If you want thicker lines, you'll have to write in a region around thisRow, thisColumn instead of just doing the single pixel.

2 commentaires

Poonam
Poonam le 15 Mar 2015
I want to save this figure result to its original size of image in file,there should be no white margin around it, as when done saveas,print it gives white margin,i want it to be saved in its original size as it is done using imwrite to save image in file
Image Analyst
Image Analyst le 15 Mar 2015
That's what it does. imwrite() does not add any extra stuff around it like hgsave(), export_fig(), saveas(), etc.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by