经常imshow一幅图片之后,会在上面plot一些标记点,但是imwrite的时候发现点并没有随之被保存下来。
I0 = imread('frame_0020.png');
figure,imshow(I0);
hold on; %光plot是不行的,必须要有这句,才能实现在 原图 标记点这一目标
plot(900, 300,’+’); %用来标记点的核心语句
plot ( x,y,‘o’,‘LineWidth’,1,… %设置圆圈的线粗
‘MarkerEdgeColor’,‘k’,… %边界设置为黑色
‘MarkerFaceColor’,‘w’,… %内部设置白色
‘MarkerSize’,6 ) %大小设置
尝试一些方法如下:
一、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’)
本质、效果和(三)一样。