LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Updating images on a second monitor

I am sending 4 different fringe patterns to a second monitor using a VI whose front panel I've configured to open on that monitor.  I'm then using a camera to capture these images. This works reasonably well with the exception that I am limited to updating the image every 200 millisecs before the camera image quality begins to degrade,although not all images are affected int he same way. The resolution on my second monitor is set to 1280 x 720 and the refresh rate is 60Hz. My graphics card is an nVidia K2000 quadro. 

 

Ideally I would like to update the image every 100msecs and still obtain acceptable image quality. Any suggestions as to how I might be able to speed up my image display and capture without image degradation?  

 

Thanks LW   

Download All
0 Kudos
Message 1 of 4
(2,968 Views)

Why take pictures of a monitor?

 

Use an Invoke Node pointed to the display VI and select method: Front Panel.Get Image. Then use the Write JPEG (or PNG) File.vi to save the image data directly. There is a Get Image Scaled method which may give you better control over the size of your images.  You can also get images of individual picture controls without the entire panel.

 

Lynn

0 Kudos
Message 2 of 4
(2,938 Views)

Hi Lynn,

 

In reality I'm taking pictures of the monitor pattern reflected off a specular surface for inspection purposes.

 

I will try out your suggestions.

 

Thanks

 

Simon (aka light worker)

0 Kudos
Message 3 of 4
(2,909 Views)

I'm not sure that I understand your suggestion. I am using the image in the subVI to display my fringe pattern on a second monitor. I don't want to create an image of my subVI front panel or save it anywhere. The for next loop in my subVI displays my sequence of fringe patterns in the image window which is expanded to fill the whole of the monitor. My second monitor is a pattern generator in effect.

 

There seems to be a limit as to how fast I can update the displayed image before I start to see image corruption from the camera. As of now I'm not sure what the root cause is. It could be that LV takes some time to send the image to the monitor, maybe it's windows not responding in a timely fashion to an instruction to update the image, maybe the it's the camera, the graphics card or the fact I'm using a subVI. Given that computer games must be updating monitors at high frequencies routinely I'm puzzled as to why a monitor update rate greater than once every 200 millisecs should be causing me problems. 

 

Is there a way that LV can write an image directly to a monitor and bypass any delay brintroduced by windows?

 

   

0 Kudos
Message 4 of 4
(2,896 Views)