"ibstein74" <x@no.email> wrote in message news:1142460732409-338548@exchange.ni.com...
First: I'm new in vision processing.
I'm using LabView 8.0 with the IMAQ Vision development module. The aim is to control the angle and the contrast of a precalculated image (a greyscale wedge) in a fast loop with a framerate of 60 or 100Hz. Currently I use the time-consuming IMAQ rotate and IMAQ BCG functions. All these function works very fine but a litle bit to slow for my application. I have measure: IMAQ rotate with 40ms and IMAQ BCG with 15ms for an image with 1024 x 768 pixels (8-bit greyscale) on a new PC. I know that an arbitrary rotation is a processor intensive task.
Please correct me, but i assume that with IMAQ rotate the image rotation will be carried out in the PC RAM. Afterwards the recalculated image will be written in the grafic memory. In a final step the image will be displayed on the monitor by mean of the grafic processor.
I can imagine there exist a solution or some ideas in the LabView community to use the high end 3D very fast grafic card processor for the rotation and contrast tasks. I hope the approach will accelerate the time of calculation.
Thanks for your help.
Best regards
Ivo Buske
Hi,
Transfering the image to the GPU and back might take more time then doing it on the CPU.
You might also need to convert the IMAQ image to a hardware API readable format. Worse case, you need to use imagetoarray, and that will take a lot of time too. (Perhaps there is a way to manipulate (add an offset) the IMAQ pointer so you can pass the pointer to the hardware API. You'll need to understand the IMAQ image format, and I'm not sure it's documented.)
You could try to make your routine that rotates a byte, and does the BCG in one. Memory access is expensive, and you'll save on read and one write... The IMAQ code should be very efficient, so it will be hard to top it. And you'll still need to know the internal IMAQ image format.
Can you explain more about your application? Why do you need to rotate? Do you really need to rotate the entire image? If you could determine a ROI first, you'll gain a lot of speed.
Sorry, no solution...
Wiebe.