Jump to content

IMAQ ImageToArray issue

Recommended Posts


I have begun a VI to manipulate jpg : the VI takes 2 jpg, convert them to BW, scales and translates them and finally superimpose recompile them as different color channel (Red and Green) of a new image.

This does work well until the recombination step : I cannot get any output from the ImageToArray function. I tried many work around such as saving the image in another file, changing the structure of the file (event - stacked), using local variables, ... but nothing seems to work

Thank you for any help or comments,



Share this post

Link to post
Share on other sites

Problem solved with the merge overlay function : see thread https://forums.ni.com/t5/Machine-Vision/save-image-with-overlay-to-jpeg-file/td-p/99104

The problem lies in the principle of the overlay, which does not alter the initial image (just the Labview display). To alleviate it you basically just need to invert a merge overlay function.



Share this post

Link to post
Share on other sites

You could also do all of this using just the Vision functions, without using arrays or overlays, and it's probably much easier.  Have a look at the IMAQ ReplaceColorPlane function, which allows you to place grayscale images in separate planes of a color image.  To translate the images, look at the IMAQ ImageToImage function which is used to place a small image at a specified location within a larger image.


Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Elancheran
      Hi Everyone,
            I am trying to play the video in reverse decrementing the frame number in IMAQ Read Frame function. Its working but the result is very choppy as every frame takes significant time to load, but when I just increment the frame number and play the video forward, its executing without any problem. I have attached the VI and info regarding the video, could you guys please let me know why I am having problem when I am trying to display the video in the reverse order.
      Playing AVI file.vi

    • By Shaun07
      I need one help regarding changing the image image type
      How can I convert grey scale image to false color image?
      Here, I have attached two images. 1. greyscale image 2. is just an example that I want to convert. (False Color). 
      Any help would be appreciate.
      Parth Panchal 

    • By caleyjag
      Understandably NI's own line of analog video frame grabbers have been obsolete for some time (since 2010 I believe).
      I have an industrial application where I am bound to using legacy analog VGA cameras. Upgrading the cameras is not an option
      I would like to use LabVIEW for testing purposes. Are there any good non-NI frame grabbers still out there that are easy to get up and running with LabVIEW?
      Unfortunately due to the bureaucratic purchasing processes ordering an old NI card of e-bay is not really feasible. 
    • By Karin Hellqvist
      In the attached image I have four Code 128 and two Code 39. I have problem detecting them without down sampling the image first. Since I want to grade the bar codes I don't want to down sample since the code quality is reduced then. I noticed this from that sometimes some of the bar codes are found without down sampling an then the grade is higher for those. Down sampling a factor 2 sometimes work, down sampling a factor 4 always works.
      I have tried croping the image around the bar code but this doesn't help.
      I'm using IMAQ Read Barcode 2, and have tried to change the parameter Min Bar Width with no result. Is there any other parameter I can change for the algorithm to find the barcodes, without having to down sample my image.
      Best regards
      Karin Hellqvist
      Certified LabVIEW Architect

    • By szalusky
      I have a relatively large application which does heavy IMAQ image processing.  Many IMAQ buffers are created and destroyed dynamically at runtime based on need (i.e. different system components will create their own temporary images for processing steps and destroy them when their work is finished). While this dynamic creation/destruction reduces the overall memory footprint at a given time, it appears the constant re-sizing or re-creating is causing memory fragmentation over time. When this dynamic creation/destruction is used heavily, we get IMAQ out of memory errors (at different places in the application) after the system has been running for some time. Total memory usage has not increased (and is well below 2GB) so the errors are presumably due to the fact that there are not large enough contiguous blocks available. 
      Are there any best practices or “standard” ways for managing lots of image references? Should they all be created initially? One idea is to allocate a pool of resources on startup (of images that will not get resized) that are shared throughout the application using a mechanism to “reserve” and “release” the resources in the pool. Is this a good approach?  Thanks! 
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.