Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

NI-Vision Image Processing with Producer/Consumer Loops

2 ratings | 3.00 out of 5
Print

Overview

This VI acquires images using the NI-IMAQdx driver and uses a producer/consumer architecture to separate the image acquisition and processing between multiple threads.

Downloads

Filename: mltcoreimaqdx.vi
Requirements: View

This VI acquires images using the NI-IMAQdx driver and uses a producer/consumer architecture to separate the image acquisition and processing between multiple threads.  This allows PCs with multiple cores to do complex image processing without affecting the speed at which the images are acquired.

Instructions for running:

1. Open MultiThreadIMAQdx.vi
2. Select your FireWire or GigE camera from the IMAQdx Session drop-down box
3. Run the VI

Below are screenshots of the VI's front panel and block diagram.

Font Panel

[+] Enlarge Image

 

Block Diagram

[+] Enlarge Image


This VI uses the IMAQ Inverse.vi to demo the processing portion inside the consumer loop.  The IMAQ Inverse.vi can be replaced with any image processing VIs.  The example uses NI-IMAQdx to acquire images from FireWire or GigE cameras, but this design can be used with analog, Camera Link, or parallel digital cameras by replacing the NI-IMAQdx VIs with the correlating NI-IMAQ VI.

Requirements


Filename: mltcoreimaqdx.vi

Software Requirements


Application Software: LabVIEW Full Development System 8.5
Toolkits and Add-Ons: LabVIEW Vision Development Module 8.2.1
Language(s): LabVIEW

Hardware Requirements


Driver: NI-IMAQdx 3.0.1

 
2 ratings | 3.00 out of 5
Print

Reader Comments | Submit a comment »

Set multi threads
My system has a duo core processor and I´ m having problem to acquiring (60 and 120Hz) and save frame in AVI movie, because frames are lost. I ran the mltcoreing the problem minimize but not work so fine. How can I know if two threads are working? Is it necessary set something in LabView?
- John Souza, CEFET-MG. jkssbh@gmail.com - Aug 16, 2010

 

Legal
This example program (this "program") was developed by a National Instruments ("NI") Applications Engineer. Although technical support of this program may be made available by National Instruments, this program may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this program with each new revision of related products and drivers. THIS EXAMPLE PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).