matlab画图

经常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’)

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

上一篇:SQL SERVER BCP的用法


下一篇:matplotlib绘图2 figure图像