IMAQ VI to measure intensity of an image

hey,
what im doing is subtracting to images, one is a mask of an empty conveyor belt, the other is one of a conveyor with a material stream on it, im trying to find the volume of the maerial in the second image.when th subtraction is done im left with a black background and a bright area representing tehe material. what is the est imaq VI to intensity of this bright area?
Cheers.

Brendan, can you then threshold the image and then use partical analysis/blob analysis to measure the area/volume?
You may have to invert the image first though?
Kind Regards
Steven Bird
Applications Engineer
National Instruments

Similar Messages

  • IMAQ complex particle measure

    I use LabVIEW and IMAQ complex particle measure.vi to detect blemish in an image. When the blemish is detected, I want the blemish area to be filled with red color. How do I get the coordinate of all the pixel in each particle when I use IMAQ complex particle measure.vi? Or is there an easier way to fill a red color in the particle (detected blemish) without having to know coordinate and overlay red dots?

    Once you have detected the particles by thresholding the image, they should already be red. But if you want to change the color, you can use the IMAQ UserLookup VI (found in the Vision>> Image Processing>> Proceessing subpalette) to create your own lookup table for the binary image. Since it is a binary image, you should only need to input a 1-D array with 2 values: the first being the background color and the second being the fill color of the particles.
    Hope this helps-
    Julie

  • I am using IMAQ vision for Measurement Studio, Ver6.0 with Measurement Studio Base Package,Ver6.0(Professional Edition).Can I work in IMAQ Vision for Measurement studio, Ver6.0 If I upgrade Measurement studio to Enterprise Edition,ver8.0.1

    I am using IMAQ vision for Measurement Studio, Ver6.0 with Measurement Studio Base Package,Ver6.0(Professional Edition).Can I work in IMAQ Vision for Measurement studio, Ver6.0 If I upgrade Measurement studio to Enterprise Edition,ver8.0.1
    Thanks
    Biswajit

    Howdy Biswajit,
    The IMAQ and Vision ActiveX controls you are using with Visual Basic 6 do not install with Measurement Studio. They are installed when you install the IMAQ software and include support for Visual Studio 6. Upgrading to Measurement Studio 8.0.1 will have no effect on your IMAQ controls since they are not related to one another. Purchasing Measurement Studio Professional or Enterprise packages allows you Visual Studio 6 support for other ActiveX components. Refer to this link for a list of ActiveX components included in those packages. 
    If you are asking about using the ActiveX controls in .NET, then take a look at this KnowledgeBase entitled Do NI-IMAQ and NI Vision Support Microsoft Visual Studio .NET?
    Hope this clarifies things!
    Best Regards,
    Jonathan N.
    National Instruments

  • Does " IMAQ Match Pattern 2 " support 16-bit images?

    Hi,all
          When I used " IMAQ Match Pattern 2 " to process 16-bit images, it didn't work. I tried  the " Pattern Matching example"  and have changed the IMAQ Create's "image type" to 16bits.  
    Is there any method to solve this problem?
         Many thanks!

    Hello dazee!
    "IMAQ Find Pattern 2" only supports 8bit images! You can find this in the help.
    Kind Regards, Christian

  • Can accurate measurements be made and images scaled in Photoshop CS4 Extended - Student Version

    I draw and amend plan based images (similar to Ordnance Survey plans) and need to be able to work in detail using accurate measurements to create a 2D representation of a building or other feature and their surroundings to a particular scale. Ideally I want to take this further to use the base plans as a means of generating a 3D image.
    I currently have Photoshop Elements 6 which does not allow me to either measure distances/line lengths or work to a defined scale. Am I correct in understanding that Photoshop CS4 Extended - Student Version would overcome this technical deficiency?
    Thanks, KJ

    Get the trial and play with the vanishing point filter. It allows you to draw planes in perspective, scale, clone to the drawn perspectives, measure distances between points and define a distance which is used as a baseline to measure out all the other perspective lines.

  • How can I get IMAQ ReadFile to read a folder of images?

    Hi,
    So I did read a previous post on an error message of "IMAQ ReadFile access is denied." I think mine is the same one:
    Error -1074395992 occurred at IMAQ ReadFile
      File access denied.
    Possible reason(s):
    IMAQ Vision:  (Hex 0xBFF604A8) File access denied.
    Problem is that I still can't seem to figure out why I can't get the IMAQ ReadFile function to read the entire folder of images. I've attached my VI. My goal is to get the area of a certain part of the image (through thresholding) and export it to a text file, excel, etc in a table format. I will be taking about 1000 images/sec, so batch processing is...very needed.
    For now, my VI just has it reading the image and outputing some statistics (which include the area) with the Particle Analysis Report function. I haven't figured out how to do the export into file - if anyone has insight in that, too, I'd appreciate it.
    Thanks,
    irealityworldi
    Attachments:
    IMAQ3.vi ‏69 KB

    I have the same problem.. How could I fix it? I uploaded my code and 3 pic to use..
    Yasemin Barutçu
    Electrical And Electronics Engineer
    Attachments:
    Camera.zip ‏158 KB

  • 16 bit Intensity to JPEG image

    Hi,
    I have an input file with 16 bit intensity values. I want to creat JPEG image from this file. Here is my source code:
    import java.io.*;
    import java.util.*;
    import java.awt.*;
    import java.awt.image.*;
    import javax.imageio.ImageIO;
    public class CreateJpeg extends Frame{
    private BufferedImage img = null;
         public static int[][] getData(File f) throws IOException {
              ArrayList line = new ArrayList();
              BufferedReader br = new BufferedReader(new FileReader(f));
              String s = null;
              while ((s = br.readLine()) != null)
                   line.add(s);
              int[][] map = new int[line.size()][];
              for (int i = 0; i < map.length; i++) {
                   s = (String) line.get(i);
                   StringTokenizer st = new StringTokenizer(s, "\t");
                   int[] arr = new int[st.countTokens()];
                   for (int j = 0; j < arr.length; j++)
                        arr[j] = Integer.parseInt(st.nextToken());
                   map[i] = arr;
              return map;
         public CreateJpeg (ColorModel colorModel, WritableRaster raster)throws IOException{
              img = new BufferedImage(colorModel, raster, false, null);//new java.util.Hashtable());
              show();
              ImageIO.write( img, "jpeg" , new File("new.jpeg"));
         public void paint (Graphics g) {
    g.drawImage (img, 0, 0, this);
         public static void main(String[] args) throws Throwable {
              int[][] map = getData(new File(args[0]));
              int[] OneDimImage = new int[map.length*map[0].length];
              for (int i = 0; i < map.length; i++) {
                   for (int j = 0; j < map.length; j++){
                        OneDimImage[i * map[0].length + j] = map[i][j];
              DataBuffer dbuf = new DataBufferInt(OneDimImage, map[0].length*map.length);
    WritableRaster raster = Raster.createPackedRaster(dbuf,map[0].length, map.length,
              map[0].length, new int[] { 0xff00, 0xf0, 0xf}, null);
              ColorModel colorModel = new DirectColorModel(16, 0xff00, 0xf0, 0xf);
              new CreateJpeg(colorModel, raster);
    After compiling and running this file, I got the following messages:
    Exception in thread "main" java.lang.IllegalArgumentException: Raster IntegerInt
    erleavedRaster: width = 800 height = 938 #Bands = 3 xOff = 0 yOff = 0 dataOffset
    [0] 0 is incompatible with ColorModel DirectColorModel: rmask=ff00 gmask=f0 bmas
    k=f amask=0
    at java.awt.image.BufferedImage.<init>(BufferedImage.java:613)
    at CreateJpeg.<init>(CreateJpeg.java:28)
    at CreateJpeg.main(CreateJpeg.java:48).
    I will be pleased if anybody help me to solve this.
    Thanks

    No, short of getting a jpeg to use a lossless compression, this sequence:
    buffered image =encode=> jpeg file =decode=> buffered image
    is going to scramble data on the pixel level. If you use a high quality param value,
    like 1.0f, it will look good, but individual pixels won't be "close" to
    their original values, because that is not what the algorithm delivers.
    Demo:
    import java.awt.*;
    import java.awt.image.*;
    import java.io.*;
    import javax.imageio.*;
    import javax.imageio.stream.*;
    public class PngEnDecoder{
        public static void main(String[] args) throws Throwable {
            int w = 256, h = 1;
            int[] OneDimImage = new int[w*h];
            for (int i=0;i<w*h;i++)
                OneDimImage=i;
    DataBuffer dbuf = new DataBufferInt(OneDimImage, OneDimImage.length);
    int[] masks = { 0xff0000, 0xff00, 0xff};
    WritableRaster raster = Raster.createPackedRaster(dbuf, w, h, w, masks, null);
    ColorModel colorModel = new DirectColorModel(24, masks[0], masks[1], masks[2]);
    BufferedImage bi1 = new BufferedImage(colorModel, raster, false, null);
    File file = new File("test.jpeg");
    write(bi1, file, 1.0f);
    BufferedImage bi2 = convert(ImageIO.read(file), BufferedImage.TYPE_INT_RGB);
    WritableRaster raster1 = bi2.getRaster();
    DataBuffer db = raster1.getDataBuffer();
    DataBufferInt dbi = (DataBufferInt) db;
    int[] data = dbi.getData();
    for (int j=0;j<data.length;j++)
    System.out.println(data[j]);
    static void write(BufferedImage bi, File file, float quality) throws IOException {
    ImageOutputStream out = ImageIO.createImageOutputStream(file);
    ImageWriter writer = (ImageWriter) ImageIO.getImageWritersBySuffix("jpeg").next();
    writer.setOutput(out);
    ImageWriteParam param = writer.getDefaultWriteParam();
    param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
    param.setCompressionQuality(quality);
    writer.write(null, new IIOImage(bi, null, null),param);
    public static BufferedImage convert(BufferedImage source, int targetType) {
    int sourceType = source.getType();
    if (sourceType == targetType)
    return source;
    System.out.println("converting image type...");
    BufferedImage result = new BufferedImage(source.getWidth(), source.getHeight(), targetType);
    Graphics2D g = result.createGraphics();
    g.drawRenderedImage(source, null);
    g.dispose();
    return result;

  • PCI1422 [New] IMAQ 2.5.2; is not acquiring image;error: no ext pixel clk

    WE have bought a PCI 1422 card [labVIEW 6.1, IMAQ 2.5.2,Camera Pulnix TM -1010 ] It doesn't acquire the image, shows error code " no external pixel clock". We have another PCI 1422 which is working without any problems with the same PC [ there are no settings in MAX for the camera/card which could solve this].Please suggest why this could be.

    If one works and the other doens't you may have a damaged board. The following KB talks about the Timing Diagram Requirements for the IMAQ 1422, http://digital.ni.com/public.nsf/websearch/E8030D8C9B12A2C186256AA9004C75FA?OpenDocument and http://zone.ni.com/devzone/conceptd.nsf/webmain/BF9C43586430C32B86256BFB00528558?opendocument
    Try updating the driver to 2.5.5,
    http://digital.ni.com/softlib.nsf/websearch/42AB44A5B0854E6086256C0E004E3D87?opendocument&node=132060_US
    Hope this hleps.

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

  • How to increase intensity od an image

    hello
    I used a XY graph and saved by jpeg format but in black and white. I used write to jpeg palette. Graph 's one of the property node options is image depth. If we set this by 1 we get b&w picture with major axxis is only visible. how to change the depth of the picture.minor axis is not visible in by setting of 1 in depth of image.
    how to visible the minor axis of the XY graph
    please help me 
    "Thanks with regards "
    by
    ..........Gireesh..........

    Hi Giresh,
    pick the coloring tool (called "brush") and color your graph as you like (and need). You could make x axis markers black and use white as graph's background color. After you have finished that "art work" you can also print your results in BW
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • IMAQ Low pass filter failed with invalid image border.

    Hi Expert,
    I try to use imaqLowPass function. I expect  the input image could be processed by low pass filter.
    But this is a run-time error showed "Invalid image border".
    Can somebody tell me what's going on?
    Solved!
    Go to Solution.

    Problem resolved. 
    I add a border to the image. 
    Needs to take care the border size and filter size.

  • Measure the white area(s) in an image

    I want to measure a white area in a binary image, how can i do this ?
    I´m useing Imaq.

    With the IMAQ-VIs "IMAQ ComplexParticle" or "IMAQ ComplexMeasure" (Image Processing -> Analysis) measurements in a binary image are almost no problem ...
    Just mail again if you need more detailed help ...

  • Help me to do this "IMAQ"-2 image file attached

    Dear friends
    In this i attach my image file in Tif format & jpeg format
    Please go through this vi
    this vi it will display a image window when u click inside that window a square box will create, where ever u click it will create multiple box. i used imaq windraw function, u can see another image window in the front pannel also.
    now my aim is to put a box over that spot with the spot as center and to extract the pixel values of the individual boxes,
    now whats happening is when i run this program a image window is opening from the imaq windraw function in that 1ly i can able to put multiple box but that box is displayed in the image display in the front pannel also. but i cant put the box in the image window in the front pannel. if u click the mouse in the image window in the front pannel it will display the 25x25pixel values.
    i want both to be done in a same window i want to put a multiple square box and the pixel values i want to extract seperately for the individual boxes. please help me give some ideas how to do this please modify this vi.
    thank u
    sasi
    Attachments:
    1.zip ‏279 KB

    Sasi,
    I am a little confused on what exactly you want to do and why you are using both WinDraw and an Image Display Control to show the image. It sounds like what you want to be able to do are the following 3 things:
    1) Display the Image
    2) Click on the image and have a rectangle overlay appear on image
    3) Get the pixel values from that rectangle into an array
    If I am understanding you correctly, then you should only display the image using one of the above display methods and have only a signal case structure in your code that adds the overlay to the image AND extracts the pixel values. I am a little unclear as to why you have decided to only get the pixel values if the user clicks on the Image Display and only draw the rectangle if the user clicks on the WinDraw display.
    I have attached an image of a block diagram, which is what I think that you are trying to do. In the block diagram you can see that I have combined everything into one case structure so that whenever a user clicks on the Image Display (no WinDraw) then I add a rectangle overlay to my image and also get the pixel values for that area. If you want to keep track of the pixel values for each rectangle then you could use a shift register and build up a 3-D array with all of this information ... or write the data to file ... or use another method to keep that data for future use.
    Regards,
    Michael
    Applications Engineer
    National Instruments

  • Vision Builder 7.0(IMAQ) : Using fxs in subVIs with references to image control

    When using IMAQ fxs (such as 'Write File') in subVIs, if one wanted to use references to an image control, what property or method would be used to feed into the image terminal in the imaq fx on the subVI? Is this possible?
    What did work: I was able to directly use the image control on the main feeding an image control on the subvi panel (which is then fed directly to imaq fx)
    What did not work: From a refnum control for the image on the main, I used (within the subVI) the value property fed to a 'Variant to Data' with type as image control, then feeding the output of this into imaq fx.

    Typically you would update an Image Display control from a subVI using the Value property nodes. However, this method does not currently work with LabVIEW 7 and Vision 7, but the issue will be resolved in the next release of LabVIEW and Vision.
    In the meantime, in addition to the solution you found you could also use a global variable to pass images from one VI to another. Using a global variable works, but not in the same way as a reference or property node would. With a reference or property node, you can pass a reference of the control to a subVI and have the subVI update the control's image. Using global variables, the subVI will update the global variable with the new images, but you need a loop monitoring the global variable in your top level VI.
    I hope this
    helps! Best wishes.
    Regards,
    Dawna P.
    Applications Engineer
    National Instruments

  • How to measure on depth image

    I am trying to measure the area of an object that has been captured by a ToF camera. 
    The object is the round "sausage" like object. I am wondering how I should measure on the depth image?
    I also have an RGB image and originally I considered to detect the object there, and then detect the coordinates for the ROI, and then go and read the values on the depth image. 
    However due to poor lighting conditions that is a little difficult. 
    I added the VI that loads and displays this image and the file for this image (the Depth_info vi is a sub vi).
    Does anyone have a lead that could nodge me in the right direction?
    Thanks. 
    Attachments:
    Load info.vi ‏1053 KB
    3.txt ‏113 KB
    Depth_info.vi ‏24 KB

    Hello,
    the simplest way would be to detect the object on the texture image and extract the corresponding depth values (if your texture and depth images are aligned/calibrated). But you've got the problem with lighting conditions. Can you improve this to illuminate the object more? Can the countours of the object be extracted on the illuminated texture image?
    On the other hand, you could perform some sort of segmentation on the depth image to separate the measured object from the background and then calculate the area. Can you attach the X,Y,Z information of your scene?
    Best regards,
    K
    https://decibel.ni.com/content/blogs/kl3m3n
    "Kudos: Users may give one another Kudos on the forums for posts that they found particularly helpful or insightful."

Maybe you are looking for

  • Not able to close a PO

    Hi all, We are using extended classic scenario. When we are trying to close a PO from portal, it is throwing error message, partner number blocked, and this is becasue, the business partner is centrally blocked(as the person has left the org.). Do we

  • AIR Debug start failed in Flash Builder 4.5

    Hi all I met an error while I planing to debug a AIR project(a new empty project created by Flash Builder 4.5) .The details is when I push the debug button it popup an error window and said "select failed", the program can run normally,but can't be d

  • Stuck key?

    recently I bought a new Imac and it has been working perfectly. today however, it started acting up. I was playing a game in safe harbor when all of a sudden the /// key abruptly started to type on its own. even when i restarted the computer and i we

  • HDD & iPod 'not ejected properly' when iMac wakes.

    Hello again folks. I have a strange issue with my iMac and USB connected peripherals. I have an Iomega Mac Companion HDD used for Time Machine backups and an iPod Nano (4th Gen) connected via USB (both directly to the iMac). A while back I noticed th

  • Error trying to activate HANA through SAP CAL

    Hello, I am encountering the following error when I try to activate AWS HANA through SAP CAL "We are sorry, we cannot provide you with the solution due to the results of an export control check" There seems to be a solution floating around but I can'