Using IMAQ Extract on a Calibrated Image

Hello,
I'm a student new to Labview working on a project to get a web cam to identify and analyze the state of a checkers game board. My VI calibrates the image of the board to correct for distortion and to fit it to its real world coordinates. At this point I want to extract the game board from its surroundings to make the rest of my analysis easier. However, if I do this I end up voiding my calibration. Is there a way that I can make a new image based on my calibrated image so I can use the extract VI or do I need a new approach? 
Thanks for your time!

It sounds like you're not passing the calibrated image to the extract VI correctly.  The extract VI requires a new memory allocation be made and then copies the source image to that location.  It then creates a new image at the new memory location with only the extracted portion of the original image.  If you don't handle your memory locations correctly, you may be overwriting your original image instead of extracting from it.  Make sure you are allocating a new memory location by calling a new IMAQ Create VI (and using a different string input) and feeding that into the Image Dst input of the IMAQ Extract VI.  This should ensure that you save the calibrated image before running the extraction.
Regards,
Chris L
Applications Engineer
National Instruments
Certified LabVIEW Associate Developer

Similar Messages

  • How to extract 64 bit data from imaq image using IMAQ Extract VI

    I have LV 8.5.1, Vision 8.5 and need to extract 64 bit data from a 64 bit image and I get the "invalid image" error while using the IMAQ Extract VI.  What version of Vision do I need to allow me to do this? 
    Currently, the work-around I have...
    1) convert the image to 32bit
    2) use the ROI tools I to get the rectangle data I need
    3) then go back to the original image and the convert the image to a 64 bit array
    4) take the rectangle data to extract the data needed out of the 64 bit array data.
    klunky but it works.  I would think that the IMAQ Extract tool should allow me to extract the 64 bit data but it doesnt... forces me to 32 bit.
    suggestions?

    steve05ram360 wrote:
    awesome, that does work. 
    Attached DLL slightly corrected and should be OK also "in place" when Dst is not connected like original IMAQ function. Hopefully it works properly now. By the way all IMAQ types are supported, not only U64.
    Andrey.
    Attachments:
    ADVExtractDLL.zip ‏9 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

  • 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

  • Problem using the IMAQ Extract function.Not getting two different image out

    Hi, I am trying to use the multiple IMAQ extract functions to get certain parts of the webcam image and then using the color extract function to get the average RGB values. The problem is that both the IMAQ extract functions give the same image on its output port. The block diagram snippet and VI are attached below. Also, please let me know if there is a better way of doing this. I need to expand this later to extract rgb values of about 40-50 different parts of the image instead of just two shown below.
    Solved!
    Go to Solution.
    Attachments:
    Extract RGB Data.vi ‏104 KB

    You did not create another image that you should wire to the input "Image Dst" of "IMAQ Extract".  That's why you always operate on the original image (which you should not do if you intend to operate on several regions of the image).
    Solution: 
    (1) Create a new image and wire this to "Image Dst".
    (2) Apply the histogram operation sequentially (e.g. in a loop).
    That way you will notice, that Image Dst contains actually(!) the region you have specified.  (Put a probe on the image wire that goes from the Extract VI to the Histogram VI).

  • Could I use the square grid for calibration in IMAQ vision?

    In IMAQ vision 6.0, NI provide the circular grid for system calibration.But now for some reasons,we need to use the square grid for calibration.Could the square grid be used with the calibration functions in the IMAQ vision for system calibration? What special things do we need to consider when we use the square grid for calibration?

    Are you talking about the layout of the points that make up the grid, or the shape of the points, or something else?
    Using dots in a rectangular grid with regular X and Y spacing is the standard grid for the NI calibration routines.
    I don't think the shape of the dots is critical. They could be small squares instead of circles.
    If you are talking about making a grid using lines instead of dots, like a tic-tac-toe board, I think you will have problems with the NI routines. You could probably do some processing on the grid image to reduce it to dots at the intersections, but it doesn't seem like it would be worth the effort. I would just use a grid made of dots instead.
    If this doesn't help, explain your problem more clearly.
    Bruce
    Bruce Ammons
    Ammons Engineering

  • 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.

  • How to extract the number from image using java

    Hello every one
    i want to develope a project which can extract the number from image
    that i can use as inter or String or char.
    Is there any API in java which provide this type of facility.
    right now i m using java 5
    thanks in Advance
    Jignesh

    In my project i have a image in that i have a
    co-ordinate (x,y) I am still puzzled as to what you seek. It sounds to me like you have a point (x, y) represented by p. in java it's just p.getX() p.getY()
    i want to convert that cordinate to numeric form,
    i mena i want to use that cordinate in somewhere else
    in project.point.getX() point.getY()
    So need to convert it into numeric form u can called
    it OCR also.OCR is optical character recognition. If I want out and took a picture of the US Declaration of Independence and then wanted the words on the parchement in the picture in text form, then I would run the picture through a software program and it would try to optically recognise what lettering and number were present in the picture. In the end, I would have a text of what is written on the US Declaration of Independence.
    Is that what you want?

  • 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...        

  • Is it possible to extract the text and images using PHP

    Hi friends,
    Is it possible to extract the text and images using PHP, in the same order as it is in the PDF?
    Else is it possible extract the same as XML using PHP, or ASP
    I googled it but its in vain, any help is appreciated.
    Thanks in advance.

    Dear Mike,
    Thanks for your quick reply,
    I mean is it possible to parse the PDF line by line using the PHP.
    I extracted the whole text but couldn't the images. Since the PDF's images are decoded using various methods like DCTDecode, JPXDecode, etc.
    The text is decoded with FlateDecode, which i breaked using a function in PHP.
    Thanks,

  • 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 

  • How to reverse an image acquired using IMAQ APIs in vc++

    how to reverse an image acquired using IMAQ APIs in vc++

    When using imaqFlip, may the source and destination be the same Image* ?
    TIA!
    Jesse

  • 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 ?

  • PC can't handle both IMAQ & OPENGL with BIG FAST images

    I can extract images using a ring buffer at 72hz (2k x 2k x 16bit).    However, when I try to BOTH extract (using IMAQ) AND display (using OPEN-GL)  I get  an IMAQ FIFO overflow.      I want to run (and display) at 60hz but eventually get FIFO overflow at that speed....especially if I move the mouse around at the same time.  (Your measurment studio has no problem collecting AND displaying at 72 hz though).      Is there a way to give the IMAQ priority over open-gl ????   I don't mind missing a couple frames being displayed, but I cannot have IMAQ halting over a FIFO overflow.        
    Thanks for any hints.  

    I'm using a c++ program.  By extract I mean   being able to successfully do a   imgSessionExamineBuffer().    I then use the extracted image with OPEN-GL  to display the 2kx2kx16bit image using NVIDIA cards.   All this is happening at 60hz.   At 30hz it works great.  At 60hz it works most of the time....if I move the mouse around a lot it dies quicker than if I just leave the PC alone.    I agree that your driver seems to be getting "STARVED".       Displaying only a portion of the image doesn't seem to have any affect.  Maybe Open-GL holds the interrupt longer than IMAQ can be without it?????    I'ld prefer to starve open-GL!!!!   If you have any ideas I'ld sure like to know.   However, I do realize that this probably is more a PC through-put problem than an IMAQ problem     Open-GL is just being used temporarily until our "display" boards are ready..   

  • 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

Maybe you are looking for

  • Imail dates into ical - Not working well for me

    I thought one of the new imail features in Lion was that you can click on a date in an email and it will create an event in ical.  But every time Ive tried it, it doesnt seem to recognize the correct date.  It recognizes the time but tries to put the

  • How do you make different versions of a Project?

    I want to take a project and save out a different variation of it. But when I duplicate my project I wind up with a huge new project file on my hard drive with duplicate rendering files etc. Isn't there a way to make multiple versions of a project fi

  • How to count no of columns

    Hello everyone i want to know how can i find the number of columns in a table can any one help me Thanks

  • MyCompany Demo

    Hi I have tried to install the MyCompany demo on Solaris, 9iAS v1.0.2.2.1 into 8.1.7.3 db. I have successfully done it on Windows. This time the front page of the demo Portal was completely blank (apart from the background). Has anyone got any tips t

  • JSP on 10g, please help

    I have both oracle 9iAS and 10g installed on my PC. When I start 10g oc4j and run JSP applications, it's not working, even http://localhost:8888/ is not displaying the default page. I tried with port 8889, still not working. 9ias is working fine. Is