how to resolve this code
1 次查看(过去 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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/147906/image.png)
采纳的回答
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 个评论
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 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!