Quantcast
Channel: LabVIEW topics
Viewing all articles
Browse latest Browse all 66700

IMAQ Pattern Matching Parallel Processing

$
0
0

I have developed a IMAQ pattern matching program that analysis images from a .avi file.  In it use there are up (but not limited) to 22 matching template pattern used, each with a (their own) set area of the image to search. 

At the moment the pattern matching process is sequential that is read the image from the avi file

  • perform the pattern matching process with template No 1
  • save position found
  • Repeat until are templates are used
  • Read another image and repeat the pattern matching process until all the images are analysed.

With the present computer system it takes about 46 ms to read the image and 10 ms per templates match with a quad-core computer working about 30%.

 

Now the question is how to reduce the processing time.  I will pursue reading the image from the avi file while the pattern matching process is going on (I assume that these two processes will be on separate threads within the same For loop ;-) ).  Another solution, is to replace the spinning storage disk with a SSD.  I may try that one first since it is easier. 

 

But the more interesting/difficult questions are:

  • if I use two (or more) instances of the pattern matching dll (wrapped up in a vi), working in parallel loops, will it improve the processing time per frame?
  • If it the pattern matching vi can operate in multi-threaded mode, what need to be set/configured to the vi execution so they will work in separate thread?
  • What otherr condition need to be met for the parallel process to work? (such as work on two instances of the same target image)

 Configuration

Window 10

LabVIEW 2017 (64 bit)

 

Thank in advance

 

Paul A. Rochefort

 

 

 

 

 


Viewing all articles
Browse latest Browse all 66700

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>