Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

NIMAX application returns : IMAQdx error 0xBFF69000 not enough memory on Grab

We are working with a U3V vision camera that generates ~ 50 Mpixels (7920x6004) at 12 bits per pixel.

 

When we try to run a grab, we get an error message (see attached PNG):

 

IMAQdx Error:

 

Error 0xBFF69000

Not Enough memory

 

When we use smaller cameras or use this camera and configure a smaller ROI (e.g., 6000x6004), then we are able to grab.

 

The machine we are using should have plenty of memory to capture the frames.  What can we do to resolve this issue?  This is a stopping function.

 

-Mike

 

 

 

0 Kudos
Message 1 of 6
(3,972 Views)

1.  Can you acquire a full size image in MAX if you use "Snap" instead of grab? 

 

2.  Can you acquire a full size image if you use the high-level IMAQdx Snap example in LabVIEW? 

 

3.  Can you acquire a full size image if you use the high-level IMAQdx Grab example in LabVIEW? 

 

4.  Does your computer have 10x the amount of memory required to store one full image?  7920 * 6004 * 2 bytes per image. 

0 Kudos
Message 2 of 6
(3,947 Views)

Hello.

 

1.  Yes. If we do a Snap we can grab 1 image.

 

2 / 3.  We don't have a Labview license.  We only have the Vision Acquisition software, we are planning to develop a C++ application using the IMAQdx library.

 

4.  The computer has 16 GB of RAM running windows 10.  10 images at at 7920*6004*2 is less than 1 GB.  Task manager shows more than 1GB memory is available even with NIMAX running.  I am wondering if this is a limitation of the library (is it 32 bit?).

 

-Mike

0 Kudos
Message 3 of 6
(3,936 Views)

NI MAX is 32-bit and will only work with the 32-bit version of the IMAQdx driver.  So your memory will be limited in that regard.  With your C++ application, if you depend on the 64-bit version of the IMAQdx library, you will not run into these memory limitations. 

0 Kudos
Message 4 of 6
(3,932 Views)

IMAQdx will default to using 10 image buffers for "Grab" in NI MAX.  The number of buffers can be configured to meet your needs if you are using LabVIEW or our C API, but it cannot be changed in MAX. 

0 Kudos
Message 5 of 6
(3,925 Views)

Hi Mike,

 

We have a knowledgebase article on a similar topic, I'll link it below:

 

Why Do I Receive "Error -1074396159: Not Enough Memory" in My Vision Application?

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z00000159qZSAQ&l=en-US

 

The reason I posted this is because it's important to note that there must be enough contiguous memory, so even though the memory is present it may not be present in a large enough block to be usable. I also wanted to note that depending on what functions you use in the 64-bit library, they may not be fully supported. IMAQ functions (which start with the word imaq, such as imaqSnap) are not currently fully supported in the 64-bit version of our libraries, but functions that start with the word img, such as imgSnap, are fully supported. This limitation is noted in the following document.

 

NI Vision Development Module and Vision Acquisition Software 64-bit Programming Language Support

https://www.ni.com/en/support/documentation/compatibility/17/ni-vision-development-module-and-vision...

 

Please be aware of this while you explore your options.

Austin
Staff Software Engineer
NI
0 Kudos
Message 6 of 6
(3,892 Views)