matlab在图片上画标记然后整幅保存的方法

经常imshow一幅图片之后,会在上面plot一些标记点,但是imwrite的时候发现点并没有随之被保存下来。

尝试一些方法如下:

一、figure
imshow(image0_rgb)
hold on
plot(loc0(:,2),loc0(:,1),'r+')
gfframe=getframe(gcf);
gffim=frame2im(gfframe);
imwrite(gffim,'image0_feature.jpeg')

这样可以将特征点和图片一起保存下来,但是图片并非所见即所得,而是有灰色背景边框,图片分辨率也降低了。

二、figure
imshow(image0_rgb)
hold on
plot(loc0(:,2),loc0(:,1),'r+')

print(gcf,'-djpeg','image0_feature.jpeg') % 保存的背景默认为白色

这样也可以将标志点和图片一起保存下来,但是保存的图片也带有边框背景,白色。

三、figure-saveas: 同(二)一样的效果。

四、figure
imshow(image0_rgb)
hold on
plot(loc0(:,2),loc0(:,1),'r+')
gfframe=getframe(gcf);
imwrite(gfframe.cdata,'image0_feature.jpeg')

具有和(一)一样的效果。

五、h=figure
imshow(image0_rgb)
hold on
plot(loc0(:,2),loc0(:,1),'r+')
saveas(h,'image0_feature.jpeg') 

本质、效果和(三)一样。

你可能感兴趣的:(matlab在图片上画标记然后整幅保存的方法)