Jump to content
Karin Hellqvist

Down sampling required to find barcode

Recommended Posts

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



Share this post

Link to post
Share on other sites

The bar edges look a bit blurry.

Try sharpening your image and increasing the contrast. Do these help?

Share this post

Link to post
Share on other sites


If you refer to the vertical bars the blurry edges is due to the printer printing the barcode. This is why I want to grade the barcodes. I have tried increasing the contrast in different ways.

Using downsampling I will find the barcodes, but looking at the image then the contrast is not better in that image.

Share this post

Link to post
Share on other sites

I got some help from NI Support who help me find the setting Minimum Edge Strength which I needed to lower to 20. This is due to my blurry image quality.

I think I maybe need to change my lightning to use from above instead of from below to get this improved. I know if I would like to grade according to the standards the lightning should be from above. Also my camera has manual focus and aperture, which makes it a bit hard to get better image quality.

ShaunR, thanks for your example. I saw that yo didn't manage to get the full size image down as you downloaded it. It should be 2391 x 2231 pixels. I tried your filter on my image with your values and some other values but didn't get it to work. 

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 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! 
    • By ASalcedo
      Hello to all.
      First of all thanks a lot for reading this post and being able to help.
      I have noticed the next problem:
      My application has a camera, this camera takes images (snap mode) and application process them (detect some edges in the image). It works fine.
      But when I make the Display bigger my application takes longer to process images (and for me that is crucial). I think that this happens because my application in this case has to process a bigger image (bigger display = bigger image??)
      So maybe if My camera takes images with lower resolution I solve the problem.
      So how can I change image resolution captured by my gigE camera? In NI MAX or in Labview?
      Thanks a lot!
  • Create New...

Important Information

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