how to resolve this code

2 次查看(过去 30 天)
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

采纳的回答

Image Analyst
Image Analyst 2015-3-15
编辑:Image Analyst 2015-3-15
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 个评论
Poonam
Poonam 2015-3-15
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 2015-3-15
That's what it does. imwrite() does not add any extra stuff around it like hgsave(), export_fig(), saveas(), etc.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Import, Export, and Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by