01-19-2009 09:55 AM
Hi,
I want to display image from CVS port to monitor without using any PC. The CVS was set as standalone. I was downloaded my application to CVS. I created the code that acquire images from IEEE camera and display the images to monitor. I used IMAQ RT Video Out to display images from CVS to monitor and it is successful.
Then, I add some codes of this application by creating the XY graph to show the results of my image analysis. Here, I want to display the graph to monitor. For your info, from the graph, I was created the INVOKE NODE à GET IMAGE and use the IMAQ Create to create image and link it to IMAQ RT Video Out. Before I downloaded the application to CVS, I run the application from my PC and the graph was successfully display on monitor. Then I downloaded the application to CVS and set it as startup file. Then the CVS rebooted. I saw the monitor is rebooting and then it run the application on CVS, but the graph is not appeared, only black background is appeared.
How to display this graph from CVS to LCD monitor?
Thanks.
01-21-2009 04:14 AM
Hi MFarid,
The problem I imagine you are having with this is that the image data from the invoke node is data to be used with the built in LabVIEW picture functions. The RT Video Out VI is designed for the IMAQ image type. These are very distinct data types and there is no easy way to convert between the two. I can think of two possible workarounds for this but have been unable to test them as yet:
1. Save the image to a JPEG or similar on the RT. Then load this file using the IMAQ functions to then load it as an IMAQ image that can be passed to the output. This seems and little clumsy and will obviously be relatively slow but is the simplest possibility if it works.
2. Build the graph yourself. Have an image on the CVS which is the template e.g. the axis and plot area. Then load this as an IMAQ image and use the overlay functions to draw your data onto the graph. This could then be passed to the output. This would obviously be a little more difficult to program than the first option though.
Let me know how you get on.
Regards,
01-22-2009 05:26 PM
Thanks James for the reply.
I tried the solution number 1 and it is work. I save a image on CVS and read that image and display it to monitor through CVS port. The CVS is run as a standlone unit. But there is another problem. How can I save multiple images (continous images from camera) to CVS and read & display them without effecting the CVS memory?
Is there any other way to convert image data from invoke note to IMAQ image type?
Is it possible to use Image Overlay to display my graph image from CVS port to monitor? How?
Thank you..
01-27-2009 05:15 AM
01-27-2009 05:34 AM
Hi James,
I am hoping that you can find the solution. I am waiting for your reply.
Thanks
Regards,
Farid
01-27-2009 09:25 AM
I created a test program that looks like it works fine. Try the following steps:
Use the "Get Image" invoke node. Set the input value "Image Depth" to 24. Use "Unflatten Pixmap" to convert the image to a 24 bit array. Connect the 24 bit output to "IMAQ ArrayToColorImage". Also connect a IMAQ image (24 bit RGB). The output will be an image that can be displayed on an IMAQ image display.
Bruce
01-27-2009 09:36 AM
Thanks Bruce,
By the way, can you attach the vi (test program) that you have created? So that I can understand it. Thank you.
Regards,
Farid
01-27-2009 10:09 AM
I didn't keep the original example, but I recreated it easily enough. I have attached it.
Bruce
01-27-2009 10:35 AM
Thank you Bruce.
I can't open the file because the version is 8.6.
Currently, I used V8.5. Could you converted into V8.5 and resend the file to me. Thank you very much
01-27-2009 10:50 AM
Just put the three NI routines together. Get Image -> Unflatten Pixmap -> ArrayToColorImage. There isn't much else to it.
Bruce