Dent detection using IMAQ

can anybody suggest how to detect dent or depression on a metal surface using IMAQ Vision.The metal surface is circular with diameter of 2 inch. The surface may carry stains which is perfectly alright but dent is the problem.

hi kyle V,
Thanks for responding. I would like to know how lighting would be helpful in bringing out dents. Also what exactly is dark field illumination? Can you help me?

Similar Messages

  • Edge detection using IMAQ Find Edge/IMAQ Edge Tool 3

    Hi,
    I have several images with useless background around a rectangular ROI (coordinates unknown!). So I tried using the two VIs mentioned above in order to detect these edges so that I can remove them. Regretfully, this does not work as planned.
    IMAQ Find Edge usually finds an edge, but not where it should be. The edge detection is earlier than I want it to be.
    IMAQ Edge Tool 3 sometimes does not find an edge at all, sometimes it finds the edge perfectly. Here I use the 'get best edge' option, which delivers the best results with all the images I tested it with.
    All the other options are also not changed while running the VI with the images I have.
    Does anyone have intimate knowledge of these VIs' algorithms, how they work, how they can be manipulated, ... ?

    Hi,
    Can you upload an example image?
    That would clarify what you're trying to do?
    Most of the time a change of mindset solves the problem.
    Kind regards,
    - Bjorn -
    Have fun using LabVIEW... and if you like my answer, please pay me back in Kudo's
    LabVIEW 5.1 - LabVIEW 2012

  • What is the difference this 2 sample pictures? Use IMAQ Detect Circles function to detect the GREEN button.

    Hi All,
    Please refer to the attached 2 pictures, they are the similar, just the size is defferent. (pass.PNG, 5478 pass.PNG).
    But now i try to use IMAQ Detect Circles to catch the GREEN button. For pass.PNG, it works fine, but for another sample, it is always fail to detect this button. 
    I also try to change the Curve Parameters and score as input, but still failed. Another way, i also try to use IMAQ find circles function, but the result is worse than IMAQ Detect Circles, so give up. 
    The code is detect the circles.png, copy it to block diagram enough.
    So, what is the root cause? Thanks for help.
    Colin
    LV7.1/8.2/8.2.1/8.5/8.6/9.0/2010/2013; testing system development
    Please Mark the solution as accepted if your problem is solved and donate kudoes
    Home--www.colinzhang.net
    Solved!
    Go to Solution.
    Attachments:
    pass.PNG ‏38 KB
    5478 pass.PNG ‏35 KB
    detect the circles.png ‏112 KB

    Hi colinzhang,
    The curve extraction mode if change it to Uniform mode, u can get the result.
    -Suggestion, if you want to use the entire image region as ROI no need to get the image size, getting rectangle and converting it to ROI descriptor. (I think this is unnecessary)
    -Be careful with color plane extraction, u're using by default which is Red plane. In this example it's fine. but make sure u know which plane u're extracting.
    -please find vi saved in 2010 version.
    Thanks
    uday,
    Please Mark the solution as accepted if your problem is solved and help author by clicking on kudoes
    Certified LabVIEW Associate Developer (CLAD) Using LV13
    Attachments:
    Detect_Circles.vi ‏53 KB

  • How to use IMAQ extract color panel in a LabView file?

    I want to change a color image into a greyscale image. Therefore I want to use the function IMAQ extract color panels but I don't know how to insert it in my LabView application.
    Please, can anyone give me some advice ?!!!
    Thx, Birgit

    Birgit,
    If you want all of the color planes, you can use IMAQ ExtractColorPlanes. Allocate an 8-bit image for each of the color planes. Wire the original color image and each of the 8-bit images for the color planes on the left and bottom of the vi. The outputs on the right side will be the same images, and they will each contain the desired color plane. The input at the top of the vi controls which color planes are extracted (RGB, HSI, etc.) Grayscale will probably be the I plane in HSI.
    If you just want a grayscale image, use IMAQ ExtractSingleColorPlane instead. Wire the color image to Image Src, and wire an 8-bit image to Image Dest. Select the color plane using the top input, and it will come out on the right side.
    Bruce
    Bruce Ammons
    Ammons Engineering

  • I downloaded ios5.1.1 to my phone, but i dont like the new software. The face detection used in the camera jut isnt for me. So, i would like to know if there was a way to undo the update and go back to ios 5.0.1. My iphone is not jailbroken or unlocked.

    i downloaded ios5.1.1 to my phone, but i dont like the new software. The face detection used in the camera jut isnt for me. So, i would like to know if there was a way to undo the update and go back to ios 5.0.1. My iphone is not jailbroken or unlocked.

    The face detection used in the camera jut isnt for me.
    Try a different camera app.  Camera Plus is a good one and there are many others.

  • Issue: Detected use of SPRequest for previously closed SPWeb object

    I have a solution to create web site by a custom web template. I used ULS Viewer to monitor the sharepoint error log during the process. I see some unexpected error(Detected use of SPRequest for previously closed SPWeb object.  Please close SPWeb
    objects when you are done with all objects obtained from them, but not before.)
    I believe that It will bring up a memory leak issue in anytime future. so I spend some time to find the root cause. It has no unexpected issue by creating web site with out of the box template(BLOG,WIKI, etc). I will get only get it with custom
    template. Does anyone know the reason and soltuon for this issue? Thanks.

            protected void Button2_Click(object sender, EventArgs e)
                string Client = "Client";
                string creatorId = "UserId";
                string creatorname = "Robin Hung";
                string rreatorEmail = "[email protected]";
                SPSecurity.RunWithElevatedPrivileges(delegate()
    using (
    SPSite newSite =
    new SPSite("http://localhost/sites/" + Client))
    SPWebTemplateCollection WTC =
    newSite.GetWebTemplates(1033);
    SPWebTemplate webTemplate =
    newSite.GetWebTemplates(1033)["SubSite"];
    newSite.AllowUnsafeUpdates = true;
    SPDiagnosticsService.Local.WriteTrace(0,
    new SPDiagnosticsCategory
    ("Log",
    TraceSeverity.
    Verbose,
    EventSeverity.
    Verbose),
    TraceSeverity.Verbose,
    "Test 2", "Called");
    using (SPWeb spWeb = newSite.OpenWeb())
    SPDiagnosticsService.Local.WriteTrace(0,
    new SPDiagnosticsCategory
    ("Log",
    TraceSeverity
    .Verbose,
    EventSeverity
    .Verbose),
    TraceSeverity.
    Verbose,
    "Test 21",
    "Called");
    spWeb.AllowUnsafeUpdates = true;
    spWeb.Webs.Add("Robin4", "Robin2", "test", 1033,
    webTemplate, false, false);
    SPDiagnosticsService.Local.WriteTrace(0,
    new SPDiagnosticsCategory
    ("Log",
    TraceSeverity
    .Verbose,
    EventSeverity
    .Verbose),
    TraceSeverity.
    Verbose,
    "Test 211",
    "Called");
    spWeb.Webs.Add("Robin5", "Robin2", "test", 1033,
    WTC["SubSite"], false, false);
    SPDiagnosticsService.Local.WriteTrace(0,
    new SPDiagnosticsCategory
    ("Log",
    TraceSeverity
    .Verbose,
    EventSeverity
    .Verbose),
    TraceSeverity.
    Verbose,
    "Test 212",
    "Called");
    spWeb.Webs.Add("Robin6", "Robin2", "test", 1033,
    WTC[30], false, false);
    SPDiagnosticsService.Local.WriteTrace(0,
    new SPDiagnosticsCategory
    ("Log",
    TraceSeverity
    .Verbose,
    EventSeverity
    .Verbose),
    TraceSeverity.
    Verbose,
    "Test 213",
    "Called");
    spWeb.AllowUnsafeUpdates = false;
    SPDiagnosticsService.Local.WriteTrace(0,
    new SPDiagnosticsCategory
    ("Log",
    TraceSeverity
    .Verbose,
    EventSeverity
    .Verbose),
    TraceSeverity.
    Verbose,
    "Test 22",
    "Called");
    newSite.AllowUnsafeUpdates = false;
    //currentSite.AllowUnsafeUpdates = false;
    SPDiagnosticsService.Local.WriteTrace(0,
    new SPDiagnosticsCategory
    ("Log",
    TraceSeverity.
    Verbose,
    EventSeverity.
    Verbose),
    TraceSeverity.Verbose,
    "Test 4", "Called");

  • Problem using IMAQ Array to Color Image vi

    I am doing some pixel manipulation & while going from an image to an Image Pixels (U64) array using IMAQ Color Image to Array VI I cannot see the image once it is modified.
    I am...
    1) converting the image to the 64 bit pixel data using IMAQ ColorImage to Array.vi
    2) doing the manipulation
    3) converting back to an image using the IMAQ Array to ColorImage.vi using the 64 bit input.
    What I get is...
    1) a black image with data behind it... meaning... if I take the magnifier tool and go to the approximate locations of my image where I expect to find the manipulated data, it is there.
    2) cast that image to a 32 bit image & still get a black image for the output.  The data however is no longer there and appears to have been stripped.  
    3) no error's out of any VI's...
    TIA  

    With Vision 2009 situation is not better.
    It happened because U64 image displayed in full scale. So, if you have full range of intensities (from 0 to 65535), then you can see something. But if your intensities in small range, for example, 0...255 in all channels, then you will see black image.
    Feel differences:
    It should be possible to map U16 values into U8 display range  with given range (like IMAQ WindDisplay Mapping does), but right now this feature available for I16 images only, not for U64. What you can do is following - map each channel to U8 (with linear LUT, for example), put channels together, then display 32 bit RGB instead of U64.
    Andrey.

  • Using IMAQ Cast Image to convert 16 bit to 8 bit image.

    I am trying to convert a 16 bit image to a bit image, and I am using IMAQ Cast Image. I am wondering what I am supposed to wire into the # of shifts? When I use NI Vision Assistant it asks I can convert by the adjust dynamic method. Does anyone know how to do this with IMAQ Cast Image? Thank you in advance.

    The number of shifts is the number of bits that will be chopped (in the dark regions) from the initial image to fit into 8 bits.
    For instance, if you have a 10 bit image, compressing into an 8 bit image will obviously introduce some losses. You can decide to loose information either in the "whithe" parts or in the "black" parts of the image.
    With #shifts = 0, the two most significant bits will be lost, so the whitest parts of the image will be uniformely white, but the darl grey levels will be preserved.
    With #shifts = 2, the two least significant bits will be lost, preversing the whitest parts grey variations, but losing the subtilities in the darkest parts.
    With #shifts = 1, a single bit is lost on either sides...
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        

  • How can I define a non-rectangular (eg. circular) ROI for pattern matching using IMAQ?

    I would like to create regions of interest that are not rectangular using IMAQ Vision Builder. Including polygons, circles, etc. I am using version 5.0.
    Thank you.

    Hello,
    The current pattern matching algorithm requires a rectangular ROI. See the IMAQ Vision Concepts manual for detailed info on how the algorithm works.
    Regards,
    Yusuf C.
    Applications Engineering
    National Instruments

  • How to use IMAQ to read out custom information in .tiff file?

    Currently, our lab use AFM to scan sample surface. The result was saved as .tiff file.
    Here are lots of information stored in the .tiff file, such as scan range, tip offset...
    But when I try to use IMAQ to load such .tiff file. I just get the image, and some information such as x resolution, y resolution, calibration.
    Is there some way to use IMAQ tool to extract all the information I need from .tiff file?
    Thanks a lot!

    I tried to use read text file vi. But what I get is some meaningless characters. Just like this.
    II* Ô   ô                                                                                 ¥ÂZEÃÒZE    ª}gDó» ‘N‘>test3                                   Mesuared by JSPM-5200                                                                                                                                                                                                                                            ?  Ù Ù :/  
    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ                       ÿÿÿÿ                    «ÊDÚ¢I@                {.A                   ?    @  ºB   @ PCG PCG  €?           €?jè@  €? øâE              SPM                                                                                                                                                                                                                                                                         ý?F                                                                                                    ÿÿÿÿ  ÿ ÿÿUÿþ    þ  þ þ 𪠠   
    "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~€‚„†ˆŠŒŽ’”–˜šœž ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìîðòôöøúüþ )19AJRZbjs{ƒ‹”œ¤¬´½ÅÍÕÞæîöÿ )19AJRZbjs{ƒ‹”œ¤¬´½ÅÍÕÞæîöÿ                               ªÿ ÿU ÿ ÿÿ ªÿÿ þþ  þ þ`  þðªŒþþ  
    "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~€‚„†ˆŠŒŽ’”–˜šœž ¢¤¦¨ª¬®°²´¶¸º¼¾ÀÂÄÆÈÊÌÎÐÒÔÖØÚÜÞàâäæèêìîðòôöøúüþ )19AJRZbjs{ƒ‹”œ¤¬´½ÅÍÕÞæîöÿ                                                              ª ÿ ÿª  ÿ ÿÿUªÿ  þªPþ  þþþðª þþ  
    Why is that ?

  • Detected use of SPRequest for previously closed SPWeb object. Please close SPWeb objects when you are done with all objects obtained from them

    HI
    i am keep seeing this message in ulsviewer of splogs in a webfront end server
    Detected use of SPRequest for previously closed SPWeb object.  Please close SPWeb objects when you are done with all objects obtained from them, but not before.  Stack trace:  
    at Microsoft.SharePoint.SPWeb.get_Exists()   
    at Microsoft.SharePoint.WebControls.CssLink.OnLoad(EventArgs e)   
    at System.Web.UI.Control.LoadRecursive()   
    at System.Web.UI.Control.LoadRecursive()   
    at System.Web.UI.Control.LoadRecursive()   
    at System.Web.UI.Control.LoadRecursive()   
    at System.Web.UI.Control.LoadRecursive()   
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)   
    at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)   
    at System.Web.UI.Page.ProcessRequest()   
    at System.Web.UI.Page.ProcessRequest(HttpContext context)   
    at ASP._layouts_icc_icc_scan_view_aspx.ProcessRequest(HttpContext context)   
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()   
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)   
    at System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error)   
    at System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb)   
    at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)   
    at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)   
    at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)   
    at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)   
    at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
    adil

    Hi,
    Your SPweb object is not disposed properly.
    http://social.msdn.microsoft.com/Forums/sharepoint/en-US/3a25eb86-8415-4053-b319-9dd84a1fd71f/detected-use-of-sprequest-for-previously-closed-spweb-object-please-close-spweb-objects-when-you?forum=sharepointdevelopmentprevious
    http://sharepoint.stackexchange.com/questions/50793/detected-use-of-sprequest-for-previously-closed-spweb-object-after-spquery
    Please remember to click 'Mark as Answer' on the answer if it helps you

  • I am trying to use IMAQ acquire and other IMAQ functions with Queue functions.

    i am trying to use IMAQ acquire and other IMAQ functions with Queue functions.
    i mean i would like to acquire the image in a queue and deque it afterwards. would be the queue function accept the IMAQ data type?

    Refer posting, http://exchange.ni.com/servlet/Redirect?id=8879554

  • Internal memory error using IMAQ 1394 ver 2.0

    Hi Robert,
    I apologize for the much belated response to your e-mail.
    - When I was receiving the fatal memory error I was using the GRAB vi
    to acquire the data.  The problem seems to go away if I switch to
    the SNAP acquisition method.
    - I am not using the IMAQ vision FFT vi, I am using the FFT Spectrum vi.
    - When the image acquisition code is removed I ran the FFT on simulated
    data generated within the program not loaded from a stored file.
    Thanks,
    Ronen
    -----Original Message-----
    From: [email protected] [mailto:[email protected]]
    Sent: Monday, August 01, 2005 8:20 AM
    To: Feldman, Ronen (Contractor)
    Subject: Re: (Reference#7084698) Phone Support E-Mail
    Hi Ronen,
    My name is Robert and I am one of National Instruments' IMAQ and Vision
    supporters.  Eric has forwarded me your email regarding the error
    you are receiving as it looks like the problem may be related to the
    image acquisition side of things.
    In your last email, you noted that the fatal error does not occur if
    you remove the FFT code or if you remove the IMAQ code.  I was
    hoping you could describe for me a couple of things in greater
    detail.  1) In your typical code configuration, do you acquire
    with a GRAB?
    2) The FFT code that you mention, are you using IMAQ FFT VIs from the Vision Development Module?
    3) You said if you remove the image acquisition code the program runs
    fine. Does this mean that you are running your code on an image loaded
    from file?
    These answers should help us get to the bottom of the situation.
    Additionally, how large is your program?  Are all of the various
    parts subVIs?
    Regarding your other question, data parameters like those that you
    mentioned can be changed during program execution, but those changes
    are not saved to the camera's configuration file.  If you make
    these changes through the Measurement and Automation Explorer the
    camera configuration file will be updated.  This behavior is to
    protect the configuration files from being corrupted by the program you
    run.
    Hope this helps.  Let me know how things go with the IMAQ/FFT code.
    Regards,
    Note:  Your reference number is included in the subject field of
    this message.  It is very important not to remove or modify this
    reference number, or your message may be returned to you.

    Hi Ronen,
    I guess using the forums works for me too! I'm just glad I found it
    To clarify, you are first acquiring with a Grab (does not work) or snap (works fine) and then performing an Image to Array.  After Image to array you use the intensity information within the FFT Spectrum.vi?  When the program errors out, do you know which step you are running? 
    In addition, you should be able to whittle the program down to just these basic steps, and see if the error continues to occur.  If the problem you are having can be consistently reproduced with these three or four steps, I would be interested in seeing if I can reproduce the problem here.
    Regarding one of your other questions, changes made to the camera configuration file from Labview will not be permanent.  This is to avoid the possible hazard of overwriting the file with a non working configuration.
    Hope this helps,
    Robert

  • Using IMAQ Image Display control vs IMAQ WindDraw for large image files

    Hello All;
    I am designing an application that is currently using IMAQ Image Display control to view large images (5K x 3K and larger).  My problem is that these images take 10-20 seconds to load and display, whereas if I use IMAQ WindDraw to display my image in a separate window, it only takes a couple of seconds.  My application is designed such that I am making use of the Subpanels in LabVIEW 8.0, and to make it pleasant for the user, the interface is such that my line profile, histograph and image viewer displays are contained within the same GUI (panel).
    I read the National Instruments application note regarding displaying of large images, and it did not seem to make a difference.  For example, I switched the 'modern' IMAQ Image Display control with the classic Image Display control, since the 'classic' does not contain any of the 3D rendering tools which might slow the process down.
    Why is there such a huge difference in loading times if I am trying to do exactly the same thing with both methods?  How can I bring the IMAQ Image Display control up to the same speed as the IMAQ WindDraw tool?
    I am currently using LabVIEW 8.0 with the latest IMAQ/NI Vision package from NI (IMAQ v7.1?).  Thanks.
    DJH

    Use a property node and select 16 bit image mapping. You can create a control for this or whatever you need. If you select the individual elements, you can get enumerated controls.
    Bruce
    Bruce Ammons
    Ammons Engineering

  • Using IMAQ create, set-up, acquire and windraw to save image without color map

    Hi,
    Attached is my VI (using labview 8.5) and am not sure where it is getting the color info from, but it saves the image as jpeg/bmp/tiff with colormap (confirmed by imread in matlab). Can someone help me save these images without colormap info.
    Thanks
    Attachments:
    HL Grab with two boards and SONY XC55_Images.vi ‏166 KB

    Hi Maverick269,
    I noticed that you posted this question over on the Machine Vision forums as well. That will definitely be a better place to get this question answered, so let's work on the issue over there :
    http://forums.ni.com/t5/Machine-Vision/Using-IMAQ-create-set-up-acquire-and-windraw-to-save-image/m-...
    In the future it helps us stay organized if we limit each issue to a single thread.
    Cheers,
    Andy C.
    Applications Engineer
    National Instruments 

Maybe you are looking for

  • What is the best practice to export  schema from HTMLDB 2.0 to Bundle APEX

    Hello, 1. I want to transfer data ( with trigger, sequence, procedures and functions ) from schema in HTMLDB 2.0 to APEX (with internal www server). 2. Application export and import is good. I want to import data from this apps schema to Oracle XE in

  • HP DV6700 / dv6820ea wont load - NO POST

    Hi all, just wondering if you could help.  I have a HP Pavillion DV6700 / dv6820ea.  Basically it wont load.  There is no POST.  all that happens is the LED's turn on, the fan turns on, dvd spins and speakers turn on, then it just goes dead, the LEDS

  • Org unit - Orgunit relationship

    Hi Experts, I have uploaded org unit to org unit relationship through BDC using PO13 transaction code and relationship type A0003 but somehow in ppom_old i am not able to view the relationship between org unit to org unit. Kindly suggest. Regards, J

  • Word add-in problem

    Hi to all! I am experiencing problems using Microsoft Word Add-in for BI Publisher. Even sometimes with new reports when I try to open the template with the Word Addin it displays the message box: "Error occurred. Please check the settings and try ag

  • An unknown error has occurred (-108). Adobe illustrator will now quit.

    HEllo I have an Adobe CS3 Web Premium. After installing and running the illustrator cs3 this error occurred: An unknown error has occurred (-108). Adobe illustrator will now quit. My friend has this problem too. I'd appreciate if you can tell me what