2016-03-18 34 views
1

有一个现有的图像,其中我覆盖的轮廓按照以下创建等高线图+图片,而无需调用图()

imshow(I), title(sprintf('contour')), hold on, contour (thresI,'w'); 

这将有可能以覆盖在图像上的轮廓,而不调用数字?如果可能,不想调用figure()/ imshow将想要的结果导出(转换成png/jpg)。

回答

0

简单地说:没有。你可能想要的是,不用绘图就可以保存图形。使用'visible'开关:

figure; 
set(gcf,'visible', 'off'); 
Imshow(I) 
(..) more of your plots 
0

你可以把这个数字窗口,以便它不是在屏幕上:

scrsz = get(groot,'ScreenSize'); 
figure('Position',[-scrsz(4)/2 -scrsz(4)/2 scrsz(3)/2 scrsz(4)/2]) 

所以没有人会(可能)看到它

的另一种选择是当然imwrite

+0

,当你有一个屏幕这仅适用。你为什么在图形定义中引用'screenSize'?如果你使用'figure('units','normalized','positon',[1.1 1.1 w h])',它将会在主屏幕之外。 – Crowley

+1

@Crowley,你是正确的,并完成justfor:获得所有screensizes'scrsz = GET(格鲁特, 'MonitorPositions');',它将返回一个[NX4]数组,其中N是显示器 –

+0

的数目是否有可能阅读“监测信封”的大小?例如,我们有三个非常相同的显示器:左,主,右。 'units','normalized'的返回值是'[-1 0 3 1]'。在监视器布局的情况下:只要我不直接知道,顶级主控权就是'[0 0 2 2]', – Crowley