3

我希望通过我的投影仪通过 MATlab 显示图像。投影图像应该是全尺寸的,没有任何图形手柄条(菜单栏、包含图形的灰色内容等)。

与投影仪投影完整幻灯片或图像时的正常演示类似,我想使用 MATlab 作为我的平台来做同样的事情。有什么想法或想法吗?我们可以使用 MATlab 访问投影仪吗?我的第一个想法是将数据发送到相应的打印机 IP,但这似乎不起作用:/

如果您知道执行此操作的相关 C++ 命令或方法,请提供链接或库,以便我可以尝试在我的 MATlab 平台上导入它。

这样做的原因:投影仪相机校准,用于对我的投影仪显示输出进行光度校正。

4

2 回答 2

2

假设您的投影仪设置为第二台显示器,您可以做一些非常简单的事情。获取显示器位置信息,设置图框为显示器尺寸

// plot figure however you want
monitorFrames = get(0,'MonitorPositions');
secondMonitor = monitorFrames(2,:);
secondMonitor(3) = secondMonitor(3)-monitorFrames(1,3);
set(gcf,'Position',secondMonitor);

这会将图形窗口放在第二台显示器上并占据整个屏幕。

然后,您可以使用它来进行所需的任何校准,并根据需要移动此窗口。

注意:我绝不是说这是理想的解决方案。它又快又脏,并且不会使用任何外部库。

更新

如果上述解决方案不适合您的特定需求,您始终可以将绘图保存为图像,然后使用 MATLAB 脚本,调用打开图像并使其全屏显示的 c++ 脚本。

于 2013-09-26T15:09:32.617 回答
1

这是不平凡的。对于 Windows,您可以使用WindowAPI提交到 MATLAB File Exchange。安装该WindowAPI功能后,您可以执行

WindowAPI(FigH, 'Position', 'full'); 

对于 Mac 和 Linux,您可以使用 OpenGL 的包装器来进行低级绘图,但您不能使用标准的 MATLAB 图窗窗口。一个不错的实现是PsychToolbox

于 2013-09-26T15:08:40.710 回答