Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Accessing a Projector using MATlab

I wish to display an image through my projector via MATlab. The projected image should be full sized without any figure handle bars (menu bar, the grey stuff which encompasses a figure etc).

Similar to a normal presentation when the projector projects the complete slide or image, I want to do the same using MATlab as my platform. Any thoughts or idea? Can we access the projector using MATlab? My first thoughts were to send data to the corresponding printer IP but that doesn't seem to work :/

If you know the relevant C++ command or method to do this, please suggest a link or a library, so that I may try and import it on my MATlab platform.

Reason for doing this: Projector-Camera calibration for photo-metric correction of my projector display output.

like image 842
Rakshit Kothari Avatar asked Apr 07 '26 18:04

Rakshit Kothari


1 Answers

Assuming your projector is set as a second display, you can do something very simple. Get the monitor position information and set the figure frame to be the monitor size

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

This will put the figure window onto the second monitor and have it take up the whole screen.

You can then use this to do whatever calibration you need, and shift this window around as necessary.

NOTE: In no way am I saying this is the ideal solution. It is quick and dirty, and will not use any outside libraries.

UPDATE

If the above solution does not suit your specific needs, what you could always do is save the plot as an image, then have your MATLAB script, call a c++ script that opens the image and makes it full screen.

like image 188
MZimmerman6 Avatar answered Apr 09 '26 08:04

MZimmerman6



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!