Доступ к проектору с помощью MATlab

Я хочу отобразить изображение через мой проектор через MATlab. Проецируемое изображение должно быть полноразмерным без каких-либо ручек фигур (строка меню, серый элемент, который охватывает фигуру и т. Д.).

Подобно обычной презентации, когда проектор проецирует весь слайд или изображение, я хочу сделать то же самое, используя MATlab в качестве моей платформы. Есть мысли или идеи? Можем ли мы получить доступ к проектору с помощью MATlab? Моими первыми мыслями было отправить данные на соответствующий IP-адрес принтера, но это, похоже, не работает:/

Если вы знаете соответствующую команду или метод C++ для этого, предложите ссылку или библиотеку, чтобы я мог попробовать импортировать ее на мою платформу MATlab.

Причина для этого: калибровка проектора и камеры для фотометрической коррекции выходного сигнала моего проектора.

2 ответа

Решение

Это нетривиально. Для Windows вы можете использовать представление WindowAPI для обмена файлами MATLAB. С WindowAPI функция установлена ​​вы можете сделать

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

Для Mac и Linux вы можете использовать обертки вокруг OpenGL для создания низкоуровневых графиков, но вы не можете использовать стандартные окна рисунков MATLAB. Хорошей реализацией является PsychToolbox.

Предполагая, что ваш проектор настроен как второй дисплей, вы можете сделать что-то очень простое. Получить информацию о положении монитора и установить рамку рисунка в соответствии с размером монитора

// 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++, который открывает изображение и выводит его на весь экран.

Другие вопросы по тегам