Vision builder ai

Hello,
I have a problem by LED function inspection test. This is on Vision Builder AI program. There is a camera, it captures an image. The images have a little different gain, brightness, contrast values, so the later inspections have different measure values. I would like to make a picture comparison between a captured image, and a reference image. After then, I would like to set the gain, brightness, contrast values automatically, like the reference image. 
How can I make this? Whitch program? LabWIEV or Vision Builder AI?
Thank, for your help!

Dear koma1989!
Is your problem still open?
If yes, I suggest you to try with VBAI first, and if the results are not good enough, you can change to LV to create a more traceable application.
In VBAI, (I'm using 2011 SP1) please choose the "Other.." option from "Run Inspection" section. Examples will open, and you can try out some, so you can get started easily in VBAI.
I don't think there will be an already working solution for this application, but in my opinion you could put it together from example applications.
If an example appears in Inspector interface (In title you can find "...-Inspector-..."), you can switch to edit mode via Inspection >> Switch to Configuration Interface
From the examples I recommend you the followings:
- Tutorial 4 - Tow cameras inspection
- Classify Colours Example
- Inspect Contours Example
- Segment Color Image Example
- And examples related to State diagram, since you have to check for differences, and than correct the image, so some processing regarding to the differences.
I hope browsing examples will help to get some ideas, if you have any other questions, please don't hesitate to post them.
BR,
Balazs Nagy

Similar Messages

  • Problem with Vision Builder and LabView: Error -1074395995, File not found

    I have created an inspection with Vision Builder AI 2009 SP1. In it I load some pictures from the HDD and run some checks over it. It works fine. Then I have migrated it to LabView 2010, I get a message that the migration is successfull, but when I run the VI on LabView I get a fail status. I have been checking my program and I have found and error when I try to load the picture from file: Error -1074395995 occurred at IMAQ ReadImageAndVisionInfo
    Possible reason(s): IMAQ Vision:  File not found.
    But I am not sure which file it refers to. At first I thought it was the picture I wanted to load, but I have checked the path and it is correct, so maybe it refers to another thing. What puzzles me most is that it works perfectly on Vision Builder and I have changed nothing in LabView, maybe it is a problem with the migration. Any clues?

    Here's a screenshot of what I'm talking about. Put a break point here and see what the path is and compare that with what Vision Builder AI is using (described where to find this in the previous post). You could find where this global is used to make debugging easier.
    Hope this helps,
    Brad
    Attachments:
    Generated Code.png ‏43 KB

  • How can I see the current script file name in Vision Builder

    I would like to not have to remember which script file I have open. Is that displayed somewhere?

    Brian,
    I have been looking over Vision Builder 6.1, and from what I can tell, the name of the file that you are working on is not displayed on the screen, and there does not appear to be a way to get it to display there.
    This seems like a very worthwhile feature to add, and I definitely agree that it would be useful. You may want to consider filing a Product Suggestion by using the Product Suggestion Center (PSC) that is linked below:
    Product Suggestion Center
    The PSC links directly into our R&D group's suggestion database, and any suggestions entered would be reviewed by the R&D team.
    Regards,
    Jed R.
    Applications Engineer
    National Instruments

  • Registration of several reference images in a test image using vision builder

    I have downloaded the trial version of vision builder, and I am attempting a test to determine if it's worth buying:
    I would like to determine the position and orientation of two reference parts within a set of test images.  I am able to load the reference images, obtain the grayscale, perform appropriate filters, determine their global orientation based on some straight lines, and select the desired ROI's that I would like to match up.  I am also able to load in a test image, take the grayscale, and filter it.  My state diagram has three heads with the three loading steps that converge. This all seems to be great, but how do I find the position and orientation of the reference ROI's within the test image? 
    I would like to use something like the geometric matching tool, but it only seems to work on using a part of a first image on subsequent images in the same folder.  I suppose I could use my reference as the first image in the folder, then loop through the remaining ones, but...
    Once I find the position and orientation of the first reference in the test image, I would then like to find the position and orientation of the second reference in the same test image, then report values like relative distances and angles between these found references.
    Does this mean I need two folders, with their own reference image and the same set of test images?  Would I combine the geometric matching results using some variables or math functions?
    What is the best way to perform this image registration in vision builder?

    RSFree101,
    Thank you for your interest in Vision Builder AI.  If I understand what you are trying to do, you are looking to compare the position locations of two separate parts in an image.  We have a tool that does this very well.  If you use the pattern matching to find both instances of the part, you should be able to determine the distance and angle between them relatively easily.  To do this, you will need to find an edge in between the two so that you can justify the angle between them, and then simply use a few Geometry functions to actually find the angle.  To record this information, you can simply use a Data Logging step to write your findings to file.  
    If you are looking for a more complete analysis on how you might be able to do this, you will need the Vision Assistant on your computer (if you do not have it already, you can get it by downloading a free trial of our Vision Development Module).  In the Vision Assistant splash screen, click on the Solution Wizard.  This pulls up a menu.  From there, go to Tutorial » Bracket Inspection.  Click Load Solution.  If you step through that example, this displays how to do what you are looking to do with the Vision Assistant, but it should be no different at all in Vision Builder AI.  Hopefully this helps.
    Regards,
    Keith M.
    Applications Engineer

  • I can not create an Installer, After install the Vision Builder Demo and then uninstall it. I can not create a Labview installer anymore, it asks me for a Vision Builder Installer, even if My Labview program does not have nothing to do with it...

    I can not create an Installer on LabView, After install the Vision Builder Demo and then uninstall it. I can not create a Labview installer anymore, it asks me for a Vision Builder Installer, even if My Labview program does not have nothing to do with it...
    Solved!
    Go to Solution.

     Hi Shada this can happen if you are including additional installers to your installer for example DAQmx. When you are doing this the installer has to include other files like MAX (Measuremente and Automation Explorer). Probably when you installed Vision Builder it updated MAX, so when your installer is trying to Include MAX, its asking for the source where it was installed in your computer in this case Vision Builder.
     Here you can cache the information so its not asked again, or you can download a newer version fo DAQmx, so it will update MAX and change de dependecy.
     You can find more details about this issue in this KB:
    KnowledgeBase 3S88PJMY: Why Do I Get A "Missing Distribution" Error When Trying to Build an Installe...
    And for keeping a copy here is more info:
     How Do I Stop the Missing Distribution Notification Each Time I Build An Installer?
    Best Regards
    Benjamin C
    Senior Systems Engineer // CLA // CLED // CTD

  • Hi 9 POINT CALIBRATION NOT WORKING IN VISION BUILDER

    I try to do 9 point calibration by using run labview method in Vision builder .
    here i tried teo labview files here Reference 1-1.vi working (it gives in mm) (here i am not assigning 9 points )
    Reference 1-11.vi file i did invidual points to so that i can enter directly 9 point and real world ..
    but its not working .
    Is there anyway to 9 point calibraiton in vision builder .
    if i have to use run labview step means .. please give me vi file to to enter 9 points (from set variable )
    Attachments:
    Reference_Points1-1.vi ‏12 KB
    Reference_Points1-11.vi ‏23 KB

    I'm using Flash Builder 4.7 for a pure flash project (ie, no mxml) & all my graphics objects are in a swc that was exported from an FLA. 
    I've made some progress with that issue. If I explicitly assign the scale9Grid dimensions in the code, it seems to work:
      obj.scale9Grid = new Rectangle(x,y,w,h)
    ...but having to do that is a real productivity killer.  Would be nice to use the 9-slice guide setting in the FLA

  • Exposure control in Vision Builder AI

    Hello,
    is there any way of adjusting the exposure time and/or gain of a NI17xx camera programmatically ??

    Hi Borst
    Yes, you can set the value in vision builder. check the links for help http://zone.ni.com/devzone/cda/epd/p/id/6319 and http://digital.ni.com/public.nsf/allkb/2B9B31A6E53A8D2586257673006482B5
    Sasi.
    Certified LabVIEW Associate Developer
    If you can DREAM it, You can DO it - Walt Disney

  • Speeding up LabVIEW scripts generated by IMAQ Vision Builder

    Hi,
    I am an experienced c++ software developer, I have mainly used Microsoft's Visual Studio for development. Now, I am developing a real time application using LabView and IMAQ Vision Builder. The LabView application I developed calls a script that was generated by IMAQ vision builder...the application works, but it is too slow for the processing I need to do. In C++ I wouldn't have any trouble speeding the application up, but I am still learning how labview handles threads etc. Does anyone have any ideas?

    Your question is very difficult to answer. Without knowing anything about the processing you are doing, I can't suggest anything to increase the speed.
    Vision Builder does not produce the most efficient code possible. It is likely that the algorithm could be improved, but this really depends on what you are doing. It is also possible that your acquisition could be what is slowing you down, especially if you are using Snap.
    Perhaps if you post the code generated by Vision Builder it will be possible to help you more.
    Bruce
    Bruce Ammons
    Ammons Engineering

  • Setting maximum number of image buffers in MAX in IMAQ vision builder

    To aquire large number of images using duncan Technologies Camera (7f/s) on IMAQ PCI 1424 i'm supposed to set the maximum number of buffer images in MAX(Measurement and Automation)in IMAQ vision builder. But i do not see the option for specifying the maximum number of image buffers under the properties of PCI 1424. Please advise.
    Thanks in advance.

    The setting is somewhat difficult to locate.
    In MAX, select "Tools" on the main menu bar. Under that, select "IMAQ". The only option that comes up is "Max number of buffers".
    Bruce
    Bruce Ammons
    Ammons Engineering

  • Can`t open vision builder 2011

    I have some problem about vision builder AI 2011
    please help me!!!
    Log:
    #OSName: Microsoft Windows XP Service Pack 3
    #OSVers: 5.1
    #OSBuild: 2600
    #AppName: Vision Builder
    #Version: 10.0.1f3 32-bit
    #AppKind: AppLib
    #AppModDate: 07/30/2011 12:04 GMT
    #LabVIEW Base Address: 0x30000000
    2012-2-18 20:41:31.630
    c:\builds\penguin\labview\components\LVManager\trunk\10.0\source\LVListMenuImpl.cpp(683) : DWarn: bad itemId (0)
    $Id: //labview/components/LVManager/trunk/10.0/source/LVListMenuImpl.cpp#2 $
    0x3082FC29 - lvrt <unknown> + 0
    0x300D4FF5 - lvrt <unknown> + 0
    0x300D9553 - lvrt <unknown> + 0
    0x300E5E4F - lvrt <unknown> + 0
    0x300E957B - lvrt <unknown> + 0
    0x300E9F6A - lvrt <unknown> + 0
    0x307D8167 - lvrt <unknown> + 0
    0x300281DC - lvrt <unknown> + 0
    0x30027FD3 - lvrt <unknown> + 0
    0x30028102 - lvrt <unknown> + 0
    0x30028150 - lvrt <unknown> + 0
    0x00401142 - Vision Builder <unknown> + 0
    0x8B560C45 - <unknown> <unknown> + 0
    2012-2-18 20:41:32.287
    c:\builds\penguin\labview\components\LVManager\trunk\10.0\source\LVListMenuImpl.cpp(683) : DWarn: bad itemId (0)
    $Id: //labview/components/LVManager/trunk/10.0/source/LVListMenuImpl.cpp#2 $
    0x3082FC29 - lvrt <unknown> + 0
    0x300D582F - lvrt <unknown> + 0
    0x300D9553 - lvrt <unknown> + 0
    0x300E5E4F - lvrt <unknown> + 0
    0x300E957B - lvrt <unknown> + 0
    0x300E9F6A - lvrt <unknown> + 0
    0x307D8167 - lvrt <unknown> + 0
    0x300281DC - lvrt <unknown> + 0
    0x30027FD3 - lvrt <unknown> + 0
    0x30028102 - lvrt <unknown> + 0
    0x30028150 - lvrt <unknown> + 0
    0x00401142 - Vision Builder <unknown> + 0
    0x8B560C45 - <unknown> <unknown> + 0
    2012-2-18 20:41:32.287
    c:\builds\penguin\labview\components\LVManager\trunk\10.0\source\LVListMenuImpl.cpp(683) : DWarn: bad itemId (0)
    $Id: //labview/components/LVManager/trunk/10.0/source/LVListMenuImpl.cpp#2 $
    0x3082FC29 - lvrt <unknown> + 0
    0x300D5858 - lvrt <unknown> + 0
    0x300D9553 - lvrt <unknown> + 0
    0x300E5E4F - lvrt <unknown> + 0
    0x300E957B - lvrt <unknown> + 0
    0x300E9F6A - lvrt <unknown> + 0
    0x307D8167 - lvrt <unknown> + 0
    0x300281DC - lvrt <unknown> + 0
    0x30027FD3 - lvrt <unknown> + 0
    0x30028102 - lvrt <unknown> + 0
    0x30028150 - lvrt <unknown> + 0
    0x00401142 - Vision Builder <unknown> + 0
    0x8B560C45 - <unknown> <unknown> + 0
    2012-2-18 20:41:32.287
    c:\builds\penguin\labview\branches\2010\dev\source\editor\InitMenus.cpp(3194) : DAbort: Cannot call MakeDirectoryListMenus with insAfter==-1
    0x300D84DD - lvrt <unknown> + 0
    0x300D956B - lvrt <unknown> + 0
    0x300E5E4F - lvrt <unknown> + 0
    0x300E957B - lvrt <unknown> + 0
    0x300E9F6A - lvrt <unknown> + 0
    0x307D8167 - lvrt <unknown> + 0
    0x300281DC - lvrt <unknown> + 0
    0x30027FD3 - lvrt <unknown> + 0
    0x30028102 - lvrt <unknown> + 0
    0x30028150 - lvrt <unknown> + 0
    0x00401142 - Vision Builder <unknown> + 0
    0x8B560C45 - <unknown> <unknown> + 0
    I don`t want to reinstall the program,and who can tell me how to repair this problem!
    TKS!

    Log:
    #OSName: Microsoft Windows XP Service Pack 3
    #OSVers: 5.1
    #OSBuild: 2600
    #AppName: multisim
    #Version: 10.0.1f3 32-bit
    #AppKind: AppLib
    #LabVIEW Base Address: 0x13080000
    2012-2-21 20:31:41.333
    c:\builds\penguin\labview\components\LVManager\trunk\10.0\source\LVListMenuImpl.cpp(683) : DWarn: bad itemId (0)
    $Id: //labview/components/LVManager/trunk/10.0/source/LVListMenuImpl.cpp#2 $
    0x138AFC29 - lvrt <unknown> + 0
    0x13154FF5 - lvrt <unknown> + 0
    0x13159553 - lvrt <unknown> + 0
    0x13165E4F - lvrt <unknown> + 0
    0x1316957B - lvrt <unknown> + 0
    0x13169F6A - lvrt <unknown> + 0
    0x13858167 - lvrt <unknown> + 0
    0x130A81DC - lvrt <unknown> + 0
    0x130A7FD3 - lvrt <unknown> + 0
    0x130A8249 - lvrt <unknown> + 0
    0x7C80B729 - kernel32 <unknown> + 0
    0x00000000 - multisim <unknown> + 0
    2012-2-21 20:31:44.912
    c:\builds\penguin\labview\components\LVManager\trunk\10.0\source\LVListMenuImpl.cpp(683) : DWarn: bad itemId (0)
    $Id: //labview/components/LVManager/trunk/10.0/source/LVListMenuImpl.cpp#2 $
    0x138AFC29 - lvrt <unknown> + 0
    0x1315582F - lvrt <unknown> + 0
    0x13159553 - lvrt <unknown> + 0
    0x13165E4F - lvrt <unknown> + 0
    0x1316957B - lvrt <unknown> + 0
    0x13169F6A - lvrt <unknown> + 0
    0x13858167 - lvrt <unknown> + 0
    0x130A81DC - lvrt <unknown> + 0
    0x130A7FD3 - lvrt <unknown> + 0
    0x130A8249 - lvrt <unknown> + 0
    0x7C80B729 - kernel32 <unknown> + 0
    0x00000000 - multisim <unknown> + 0
    2012-2-21 20:31:44.912
    c:\builds\penguin\labview\components\LVManager\trunk\10.0\source\LVListMenuImpl.cpp(683) : DWarn: bad itemId (0)
    $Id: //labview/components/LVManager/trunk/10.0/source/LVListMenuImpl.cpp#2 $
    0x138AFC29 - lvrt <unknown> + 0
    0x13155858 - lvrt <unknown> + 0
    0x13159553 - lvrt <unknown> + 0
    0x13165E4F - lvrt <unknown> + 0
    0x1316957B - lvrt <unknown> + 0
    0x13169F6A - lvrt <unknown> + 0
    0x13858167 - lvrt <unknown> + 0
    0x130A81DC - lvrt <unknown> + 0
    0x130A7FD3 - lvrt <unknown> + 0
    0x130A8249 - lvrt <unknown> + 0
    0x7C80B729 - kernel32 <unknown> + 0
    0x00000000 - multisim <unknown> + 0
    2012-2-21 20:31:44.912
    c:\builds\penguin\labview\components\LVManager\trunk\10.0\source\LVListMenuImpl.cpp(683) : DWarn: bad itemId (0)
    $Id: //labview/components/LVManager/trunk/10.0/source/LVListMenuImpl.cpp#2 $
    0x138AFC29 - lvrt <unknown> + 0
    0x13154B40 - lvrt <unknown> + 0
    0x1315585F - lvrt <unknown> + 0
    0x13159553 - lvrt <unknown> + 0
    0x13165E4F - lvrt <unknown> + 0
    0x1316957B - lvrt <unknown> + 0
    0x13169F6A - lvrt <unknown> + 0
    0x13858167 - lvrt <unknown> + 0
    0x130A81DC - lvrt <unknown> + 0
    0x130A7FD3 - lvrt <unknown> + 0
    0x130A8249 - lvrt <unknown> + 0
    0x7C80B729 - kernel32 <unknown> + 0
    0x00000000 - multisim <unknown> + 0
    2012-2-21 20:31:44.912
    c:\builds\penguin\labview\components\LVManager\trunk\10.0\source\LVListMenuImpl.cpp(683) : DWarn: bad itemId (0)
    $Id: //labview/components/LVManager/trunk/10.0/source/LVListMenuImpl.cpp#2 $
    0x138AFC29 - lvrt <unknown> + 0
    0x13154B69 - lvrt <unknown> + 0
    0x1315585F - lvrt <unknown> + 0
    0x13159553 - lvrt <unknown> + 0
    0x13165E4F - lvrt <unknown> + 0
    0x1316957B - lvrt <unknown> + 0
    0x13169F6A - lvrt <unknown> + 0
    0x13858167 - lvrt <unknown> + 0
    0x130A81DC - lvrt <unknown> + 0
    0x130A7FD3 - lvrt <unknown> + 0
    0x130A8249 - lvrt <unknown> + 0
    0x7C80B729 - kernel32 <unknown> + 0
    0x00000000 - multisim <unknown> + 0
    2012-2-21 20:31:44.912
    c:\builds\penguin\labview\components\LVManager\trunk\10.0\source\LVListMenuImpl.cpp(683) : DWarn: bad itemId (0)
    $Id: //labview/components/LVManager/trunk/10.0/source/LVListMenuImpl.cpp#2 $
    0x138AFC29 - lvrt <unknown> + 0
    0x13154B40 - lvrt <unknown> + 0
    0x13156B9A - lvrt <unknown> + 0
    0x1315956B - lvrt <unknown> + 0
    0x13165E4F - lvrt <unknown> + 0
    0x1316957B - lvrt <unknown> + 0
    0x13169F6A - lvrt <unknown> + 0
    0x13858167 - lvrt <unknown> + 0
    0x130A81DC - lvrt <unknown> + 0
    0x130A7FD3 - lvrt <unknown> + 0
    0x130A8249 - lvrt <unknown> + 0
    0x7C80B729 - kernel32 <unknown> + 0
    0x00000000 - multisim <unknown> + 0
    2012-2-21 20:31:44.912
    c:\builds\penguin\labview\components\LVManager\trunk\10.0\source\LVListMenuImpl.cpp(683) : DWarn: bad itemId (0)
    $Id: //labview/components/LVManager/trunk/10.0/source/LVListMenuImpl.cpp#2 $
    0x138AFC29 - lvrt <unknown> + 0
    0x13154B69 - lvrt <unknown> + 0
    0x13156B9A - lvrt <unknown> + 0
    0x1315956B - lvrt <unknown> + 0
    0x13165E4F - lvrt <unknown> + 0
    0x1316957B - lvrt <unknown> + 0
    0x13169F6A - lvrt <unknown> + 0
    0x13858167 - lvrt <unknown> + 0
    0x130A81DC - lvrt <unknown> + 0
    0x130A7FD3 - lvrt <unknown> + 0
    0x130A8249 - lvrt <unknown> + 0
    0x7C80B729 - kernel32 <unknown> + 0
    0x00000000 - multisim <unknown> + 0
    2012-2-21 20:31:44.912
    c:\builds\penguin\labview\branches\2010\dev\source\editor\InitMenus.cpp(3194) : DAbort: Cannot call MakeDirectoryListMenus with insAfter==-1
    0x131584DD - lvrt <unknown> + 0
    0x1315956B - lvrt <unknown> + 0
    0x13165E4F - lvrt <unknown> + 0
    0x1316957B - lvrt <unknown> + 0
    0x13169F6A - lvrt <unknown> + 0
    0x13858167 - lvrt <unknown> + 0
    0x130A81DC - lvrt <unknown> + 0
    0x130A7FD3 - lvrt <unknown> + 0
    0x130A8249 - lvrt <unknown> + 0
    0x7C80B729 - kernel32 <unknown> + 0
    0x00000000 - multisim <unknown> + 0

  • Why I can't subtract two images in imaq vision builder?

    Hi,
    I have many times tried but failed to get the objects in a image by subtraction with another image which is background, in imaq vision builder(ver. 6.0). I totally can't use the "operators" command under "greyscale" to subtract the two images becauee all commands under the "greyscale" are always unactivated after two images have been stored in 2 idfferent buffers. I really don't know why and this vision builder is so difficult to use, unbelievable! I followed the instructions in its Help and it's quite simple but I totally failed to make this operation!
    Two samples of images have been attached and maybe it's very ease for you to filter out objects(fibers) by subtraction each other. Show me your scrip
    t if you can. It's urgent to me.
    Or the idea of the way I thought for filtering the objects is wrong? Point out please if you know.
    Thanks and Merry Christmas and Happy New year!!
    Swedlin
    Attachments:
    10Img0.jpg ‏27 KB
    123Img0.jpg ‏25 KB

    Okay, this is not quite as straightforward as it could be, but you can do image subtraction in Vision Builder. The basic idea is as follows:
    - select first object image and copy it to buffer 1
    - select "image >> get new image" and load your background image from a file.
    - put this in buffer 2
    - retrieve object image from buffer 1
    - perform subtraction. Even though these images appear to be greyscale, they are actually saved as 24-bit RGB images, so you need to use the color operators instead. Vision Builder will only allow you to select steps that are valid for the image you have loaded. You could extract the luminance plane from all of your images to work with 8-bit images if you like.
    I have attached below a background image, several object i
    mages, my script, and the results of batch processing. You will need to edit the "get new image" step with the correct path to the background image on your machine.
    Bruce is right though. This is a bit easier in LabVIEW.
    Regards,
    Brent R.
    Applications Engineer
    National Instruments

  • Vision builder

    Hi there !
    I'm new in the field of machine vision and I need your help in my project,I want to build an application that inspects the sealed terminals of automative wires like in the image attaches below, calibration and edge detection and comparing the images in the real time to a standard image ,
    I want to know if that is possible ,and if it is how can I do so ?
    THANK YOU !
    Solved!
    Go to Solution.
    Attachments:
    aaaa.JPG ‏19 KB

    Hi layal,
    You are certainly on the right track with using the Vision Builder for Automated Inspection (VBAI). For an extensive outline of all the functions available to you, take a look at the VBAI manual here. First, you would typically want to define a reference coordinate system unless you can guarantee that the part will be located in the same position and orientation in the images. This is discussed on page 2-7 of the manual. Then, you could certainly compare the image, or certain portions in a specified region of interest (ROI) of the image to a template and detect the differences, check for gaps and part widths, locate edges relative to the coordinate system, etc. All the features are outlined in the manual in the context of some examples. I highly suggest that you take a look through the manual and also consider evaluating the VBAI software for 30 days if you do not have it already. You can access the download for the evaluation from the 1st link I posted. If you have more specific questions on the inspection, or how to carry it out, please provide more details concerning the pass/fail conditions for your part.
    Also, please bear in mind that if you run VBAI on a regular PC running an OS such as windows, the performance will not truly be real-time. To achieve deterministic performance, you would have to deploy this inspection to a real-time target such as the NI EVS, Smart Camera or a PC running LabVIEW Real-Time as the OS. Hope this helps!

  • Vision Builder Crashes Labview

    I have an application where I need to acquire and inspect many high resolution images 3Mp at high throughput. 
    I'm using:
    LabVIEW 8.5.1
    NI-Imaq 4.1
    Imaqdx 3.2
    Vision Builder AI 3.6
    ISG 3Mp Camera through Startech 1394a PCI card
    In order to meet the cycle rate, I'm trying to multi-thread the application by having one thread that acquires images and enqueues them into another thread that saves them to the hard drive then runs the VBAI inspection.  The VBAI inspection then uses the "simulate acquisition" step inorder to load the image from the hard drive and make the appropriate measurements.  I've run the application and monitored the processor usage, and the processor seems to stay within 0-80%.  However, my application will crash intermittantly. 
    I've been able to repeat the behavior pretty reliably if I activate/toggle a ring control on my front panel while the cycle is running, and I can't do so if the VBAI thread is not running.
    I understand that this is could be a difficult problem to help debug remotely.  I'm wondering if there is anyone with similar experience, or some better way for me to creat a high throughput machine vision app with VBAI.
    Thanks,
    Ryan 

    Dear Ryan,
    You are right, this is difficult to debug remotely, but I can make a suggestion or two. Perhaps you've taken care of these, perhaps not...
    One potential downfall with this setup is running into a race condition. If you don't establish data dependency, and make sure that you save and close a particular image before trying to open back up again with VBAI, you could cause the behavior described. Race conditions would be even more of a concern if you were using a certain number of files as an image buffer, and then recycling through them. 
    What in this ring control? What does the ring control do?
    Have you tried generating LabVIEW code from your VBAI inspection, and then encapsulating the VBAI code in a subVI, and just passing your images into that instead of saving them to disk? I would suggest doing this to see if you still experienced the crashes when you are only working in LabVIEW, and without saving and opening images from disk.
    Let me know how things go; I hope the above suggestions provide some help. 
    Best Regards,
    ~Nate 

  • Extract red image with Vision Builder Automated Inspection

    Hello
    I have 2 camera connected to a CVS and I want to process the images to have only the red part of the images.
    for that I tried to use VBAI but I din't sucess, I think nit should be in the vision assistant step, but I already tryed with "extract a color plane" and "treshold color", and when I test with an image it don't work.
    Does anybody know how to that?
    Thank you for your help

    Hello
    I may be find a way to delete everythimg that is not red by substract green and blue with vision assisatant, it seems to work.
    Now I try to extract only little part of the picture, only the part of the picture who are red, for that I created ROIs for some red parts of the images, and I want to record only this ROIs, to reduce the size of the file and kipping the same resolution.
    Does anybody know how to do that?
    I attach my Vision builder code to the message
    Thanks for your help
    Attachments:
    Color Example red-21-7-12h30.vbai ‏108 KB

  • NI-1744 Smart Cameras go offline using Vision Builder AI and LV2010?

    I've run into a perplexing and frustrating problem.
    I have a set of 6 NI-1744 smart cameras used to monitor sample motion in an automated system
    A central robot moves samples between 6 satellite chambers; there is a camera mounted above the entrance to each of the satellites; the sample carriers are drilled with up to 10 holes encoding their numbers in binary (0-1023). There is also an L-shaped registration mark drilled near the region for the number encoding. Matters are complicated somewhat in that the second generation of carriers has a slightly more complicated registration mark (which includes the simple L of the first generation).
    What I would like to accomplish is this:
    Most of the time, I just want to be able to see what's under each camera, illuminating from above using a ring light attached to the camera. Call that Inspection A.
    I may need to capture an image without the ring light. Call that Inspection B
    When a sample transfer is occurring, I need to run a more complicated inspection (Inspection C):
    A light is turned on underneath the end of the sample transfer arm (the "fork"), backlighting the region where the hole pattern would be if a carrier is in fact present.
    Acquire an image of the fork with the backlight on.
    Check to see if the image shows the fork to be empty. If so, return that information and the inspection is complete.
    If not, look for the (backlit) registration mark and establish a coordinate system for the holes. Look to see which holes are present, calculate the sample number, return the data and the inspection is complete
    If not, look for the 2nd gen registration mark. If it is found, establish the coordinates as in step 4, calculate the number, return the data and complete.
    If none of the registration patterns are found, turn on the ring light, capture an image and return it so the operator can intervene and enter the appropriate data.
    I have successfully built the inspection, and it appears to work in the Vision Builder configuration interface, or if run from the Vision Builder inspection interface. If I attempt to *use* the inspection, accessing it via the VBAI interface in Labview, one or more of the cameras will hang after one or more inspections and stops responding to LabVIEW. It will take multiple reboots to get it back on line and visible to either VB or Labview.
    Originally, I had thought to configure the camera to run inspections continously and select inspection A, B, or C based on a variable I could access using the Labview Shared Variable Engine.  Every time I tried that the camera in question would hang. My current sort-of-successful software uses the VBAI functions in LabVIEW to open Inspection A, B, or C on the camera, run that inspection a single time and return the results and inspection image. That still ends up with one or more cameras hanging, especially if I've added the case to handle the more complicated registration mark.
    I think I may be running out of memory in the camera. I have occasionally received an out of memory error message when running the inspection in debug (step) mode in the VB configuration interface, at which point the camera will disconnect from the VB interface. When I look at the system monitor tab for a camera in MAX, I can see that it is showing me 11.5M free/124M total memory, and 72.3Mfree/118M total disk space. If I understand those numbers, that means that less than 10% of the memory is free when the inspection starts!
    I'm only communicating with the cameras via the ethernet interface. Are there any software components I don't need to have installed on the 1744 (MAX lists about 12 different things installed!) in that case?
    Alternatively, it appears there are VBAI functions available that might let me acquire an image and then process it via a local copy of Vision Builder running on the host PC, rather than in the camera. Is that so, and if so, would it be faster than running the inspection in the camera?
    I've attached a zipfile with the inspection that appears to stall the camera, and samples of typical images captured of the empty fork and a sample holder.
    Kevin Roche
    Advisory Engineer/Scientist
    Spintronics and Magnetoelectronics group
    IBM Research Almaden
    Attachments:
    Carrier Read Problem.zip ‏657 KB

    The good news: thanks to some offline assistance from Brad, my cameras are no longer crashing.
    The bad news: my labview VI using VBAI functions still fails for one or more cameras after a while (typically >12 hours of monitoring). 
    It's very odd: the cameras are still visible online.
    I can ping them.
    I can connect to them via VBAI, run inspections that way (either in configuration mode or inspection mode), and disconnect successfully.
    My calling VI, however insists that it can't connect (usually with a -354700 error from VBAI Connect.vi, occasionally with a -354705).
    I am using shift registers in the monitor loop of the main VI so that I can pass the VBAI session reference for each camera back to the subvis that actually load and run the desired inspection once a connection has been made. After an indeterminate time, one or more of those appears to go bad, but if I attempt to reset and connect to the camera again (I did include a control to let me close and reconnect if necessary from the monitor loop), I still get the above errors.
    The only way to get them back online within LabVIEW this morning proved to be to stop the main VI and reset all the controls to default, reboot the cameras, and then restart the VI. At that point it was able to connect to all 6 again and has been running happily for over 8 hours.
    I set up the persistent sessions using the shift registers because I have observed in the past continually opening and closing resources like that can lead to memory problems. It also dramatically reduced my cycle time when all I want to do is get the latest images from the cameras to under 2 seconds.
    Any ideas? Is there some subtlety to disconnecting/reconnecting to the VB in the cameras via Labview that I'm missing?
    I am working on a slightly smarter version of the inspection that can be allowed to run continously in a camera and simply return the appropriate result when asked, rather than having to start and stop different inspections as I do now, but that is not ready for deployment yet. It's the symptom of running just fine for X hours and then losing one or more cameras that is baffling me right now.
    Kevin Roche
    Advisory Engineer/Scientist
    Spintronics and Magnetoelectronics group
    IBM Research Almaden

Maybe you are looking for

  • To extend material master in condition that split valuation.

    I want to valuate the material at two different valuation class if the material is produced internally  and procured externally. So I use split valuation function. I created accounting view  using valuation category  at plant level and I extended acc

  • How to run the SDK samples - IAC

    Hi, I've been doing some research on how to read the contents of a pdf from a C# app. So thought of trying the acrobat SDK. I tried to run a C# sample given with the SDK and got the following exception. "System.Runtime.InteropServices.COMException (0

  • Syncing with iTunes help?

    I have thinking about buying a new iPod touch. I have iTunes installed already on my computer with over 2,000 songs. I want to keep my library on the new iPod will it sync all my music and videos to my new one?

  • In iMovie or iphoto I have made a good slide show with music. I want to burn to DVD disc for viewing on any DVD player.

    In iMovie or in iPhoto I have made slideshows that I want to burn to a DVD disc. But they only play on computers and I want it to play on DVD players. How do I do that?

  • Lion, Bootcamp and Vista

    Hi, just installed Lion and then Bootcamp failed - couldn't boot into Vista. So tried reinstalling but now can't find the drivers for Vista - Lion downloaded only those for Windows 7. Do Vista versions exist?