Making measurements within acquired video?

Hi everyone! I have an interesting problem and was hoping someone could help guide me down the correct path. Currently, we are using Labview to capture video (.avi) in one of our experiments. Provided the video, we would like to be able to make measurements at different points in time. Specficially, we would like to measure the diameter of a circle at different points in time as it grows in size. The diameters will likely be in the range of 1-5 mm. Is there any kind of post processing method that could help us? I am pretty new to labview so I am not too familiar with the possibilities, any help would be greatly appreciated!
-David

Check out IMAQ.  It is a very complete set of machine vision tools to handle just about anything.  If you don't have a budget for IMAQ (or a site license if you are at a school or university), you will need to do it yourself.  The steps are roughly as follows:
Get a single frame of the video.  This may be more or less difficult, depending upon the video format and the APIs available to you from your camera manufacturer.
In this single frame, apply image processing techniques (e.g. check out this Stack Exchange answer for finding a circle)
Go to the next frame and repeat.
If you don't have IMAQ, be prepared to write some code.  The algorithms for finding circles in images are fairly well documented in many places, and you can implement them in LabVIEW, but you may need to go to a lower level than you are used to.  If this happens, just go for it.  Or convince your supervisor/professor to get IMAQ .
This account is no longer active. Contact ShadesOfGray for current posts and information.

Similar Messages

  • Need advice on making a simple Flash video file. Trying to accomplish two things.

    I have some video files (.avi) that I am trying to convert to a Flash video format. I am trying to export it to a Flash player to go into a Powerpoint file. With this, I am trying to accomplish two goals:
    1. To have the short clip (15sec, 30fps) endlessly loop, like an animated .gif.
    2. To allow the user to click on the video player and drag left/right to ff/rew.
    The video itself is a turntable animation. One of our products is making a complete 360degree turn. By allowing the user to grab and drag, it will simulate them rotating the model.
    So far, I have already accomplished Goal 1. I made a new Actionscript 3 file, imported video (embed flv in swf and play in timeline), and then made the video loop on the timeline. This seems to export properly, and the video loops as needed. The only thing I can't figure out is how to make the video "interactive" and let the user drag left/right.
    For context, I have never used Flash before. Any help would be greatly appreciated.

    This will come down to essentially moving the playhead of Flash based on the movement of the mouse. It's certainly not going to be smooth however, you'd need a timer to be responsible for moving your playhead and reversing spatial compression is very CPU intensive (moving backwards on the timeline). I'd recommend having a forward and backward version of the video so you could flip between them but if you're new to flash you're already in way above your head.
    Add a new layer and try adding this example script (or Download Source example here, saved to CS5):
    import flash.utils.Timer;
    import flash.events.TimerEvent;
    import flash.events.MouseEvent;
    // make sure we don't trip this frame twice
    if (!stage.hasEventListener(MouseEvent.MOUSE_DOWN))
              // stop playhead
              stop();
              // set state (forwards? backwards?)
              var movingForward:Boolean = true;
              var curFrame:int = 1;
              var mouseStartX:int; // used later to determine drag
              // detect mouse click and drag left or right
              stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseF);
              stage.addEventListener(MouseEvent.MOUSE_UP, onMouseF);
              // create new timer to control playhead, start it
              var phTimer:Timer = new Timer(33,0);
              phTimer.addEventListener(TimerEvent.TIMER, movePlayheadF);
              phTimer.start();
              // function to control playhead
              function movePlayheadF(e:TimerEvent):void
                        curFrame += movingForward ? 1 : -1;
                        // validate frame (60 total frames)
                        if (curFrame > this.totalFrames) curFrame = 2;
                        else if (curFrame < 1) curFrame = this.totalFrames;
                        // goto the next frame
                        this.gotoAndStop(curFrame);
              // function that controls the direction variable
              function onMouseF(e:MouseEvent):void
                        if (e.type == MouseEvent.MOUSE_DOWN)
                                  // user started touching, record start spot
                                  mouseStartX = int(stage.mouseX);
                        else if (e.type == MouseEvent.MOUSE_UP)
                                  // user let mouse go, determine direction change (swipe stype)
                                  if (stage.mouseX > mouseStartX)
                                            // swiped right, move forwards
                                            movingForward = true;
                                            trace('Moving forward now');
                                  else if (stage.mouseX < mouseStartX)
                                            // swiped left, move backwards
                                            movingForward = false;
                                            trace('Moving backwards now');
    This is pretty simple. In the example source link above an object on the timeline (nice ugly red circle) moves right over 60 frames and then left over 60 frames (120 total). Consider that your movie.
    A timer ticks at a speed of 33ms (30fps). This is where it isn't necessarily going to be too smooth with video. If you increase it to 60FPS then decrease the timer by half (16.5ms), season to taste. Each time the timer goes off the playhead is moved, either forwards or backwards.
    To know if it should go forward or backwards a simple variable (movingForward) keeps track of the last 'swipe'. The swipe is simply captured when a user touches the screen (mouse/finger), moves in a direction and then lets up. If they moved to the left the direction will be reverse. If they moved to the right it will move forward. This doesn't take into consideration any more than that logic, but illustrates how you can watch the mouse for movement and "do something" based on it.
    A very simple validatior in the timer event function checks to see if the next frame (in either direction) is valid and if it's not, it corrects it so it stays within your videos timeline length.
    Note there is a MOUSE_MOVE event you can try to hook to which can be used to literally let the user drag the video forwards and backwards the amount they drag their finger/cursor. Also if this is some kind of circular surface like a record spinning, the direction the user moves the mouse based on where they touch the record would change which direction they expect it to move. Etc etc..
    That should get your feet wet in how much you need to consider for your project.

  • CS6-DW ? about active hyperlinks within my video

    Hi All,
    I was wondering if you any of you have conquered this problem?
    "Flash supports hyperlinks inside video. Yet, IOS does not support Flash" (mobile devices)  For the most part, old Droids do.
    In Apple's infinite wisdom, SJ decided not to support flash. So going the way of the Dodo Bird, I am trying to keep current while using what I think is a slick option.Embedding links inside video.
    Youtube allows it with their files (For this reason I believe it can be done in an mp4) Yet Youtube only allows for links within their site,
    Anyone? I am using CS6 Master suite. Not CC. So it is a whopping 1 year old software.
    Thanks
    NC

    Hi Nancy,
    I think you are not getting my point, or question. You are referring to embedding the video, whereas I am referring to embedding a link inside a video. You know a hyperlink within a video?
    What I had thought Youtube may have been a solution, was not. Youtube'e Annotation tool merely rewraps a video in a SWF or FLV wrapper to then add a hyperlink to your video. (Same as Flash)
    Challenge: Iphone (as mentioned above) does not support it.
    Work around, TIme machine. 1988 circa Animated Gifs and written code to trigger the pictures to however many FPS desired
    Here is a better explanation of how to achieve joy- for those who would like a richer user experience of their website with cross platform capabilities...
    http://www.icodeblog.com/2009/07/24/iphone-programming-tutorial-animating-a-game-sprite/
    My work around of making the whole thing an < A href image link to my HTML page.
    Reminds me of the Beta, laser disc, Vhs wars...Iphone's and Mac's ughhh! Like DSLR's in my camera world!
    Don't take it personal if you have a Mac, I understand. I had a Benz before too, then got a Lexus. LOL!

  • Is there a way to navigate (TOC) within a video without SWF?

    My project requires that we do not use Flash. Is there a way to create bookmarks/TOC inside a video without using Flash/SWF? I was thinking maybe a PDF, but that bookmarks pages, not within a video.
    Suggestions?

    I created something like it with Captivate in the past so I was going to again. I guess the scope has changed enough that Captivate is not the right tool. But I thought it was worth asking in case a Captivate user has had a similar need and might have some advice in how I can accomplish this. I don't know much about video editing, but in my research, I haven't yet found a way.

  • How to create a new folder within the video folder in media

    Hi, I'm trying to figure out how to create a new folder within the video folder in media. I can easily create new folders within the pictures folder but not in videos.....Why??? Thanks in advance for your help.
    Message Edited by dany_s on 06-25-2009 03:58 PM
    Solved!
    Go to Solution.

    Hello,
    I think you can try two things : the soft reboot, and if it does not work, the hard reboot. Don't worry, you can't lose data with these two reboots.
    Soft reboot :
    1) Hit the three following keys at the same time :
    - Alt
    - Right Shift
    - Delete
    2) wait 2 minutes for the Blackberry to wake up.
    Hard reboot :
    1) your Blackberry device is on
    2) remove the battery and wait for a minute
    3) Put the battery back
    4) wait 5 minutes for the device to wake up.
    Please tell us if it works for you.
    The search box on top-right of this page is your true friend, and the public Knowledge Base too:

  • How to acquire video from 3s vision IP camera

    I was wondering if someone could tell me how to configure the vision acquisition, so I can acquire video from an IP Camera (3S vision IP Camera)?
    I tried to use an IP camera dapter, but that didn't work. I currently can only acquire video from my webcam.
    Can someone please help me out?
    Thanks in advance!

    Hi Nando88,
     National Instruments only supports Basler and Axis IP Cameras as part of NI-IMAQdx. There is an IP Camera Adapter which emulates the functionality of a USB webcam. I assume this is the IP Camera Adapter you are referring to in your post. This adpater is not oficially supported by National Instruments and does not work very well for all IP Cameras. This adpater will help you stream video from your camera directly to LabVIEW, like in this example. If you want to acquire separte images you will need to use property nodes to take a screen capture, save that to an image file and then open that file as an IMAQ image. You have to go through all these steps because that IP camera is not supported by the NI-IMAQdx driver.
    I hope this helps.
    Cheers

  • Making a screen capture video to be digitally projected large - quality?

    I am making a screen capture video on my macbook. The capture area is not the full 13" screen. Currently I am using quicktime. The video itself is very basic but it will ultimately be projected on a large wall.  What do I need to do in settings etc. to make sure the quality isn't compromised when projected? Quicktime does not seem to offer the option to record in HD quality when screen capturing. It looks great on my screen but I am unsure how it will translate large.  Please advise this rookie thank you!

    Thanks!
    I'm only trying to capture a portion of my screen, but quicktime does not give the option to record in HD or control the quality when making screen captures.
    I have downloaded IshowUHD and I can record in high dimensions but when I view the playback in fullscreen mode the quality does not seem to shift. Am I missing something super basic? Thanks in advance.

  • Making iTunes default for videos

    making iTunes default for videos
    i have a macbook pro and i have videos on my mac that i want itunes to automatically open without quick time being the defauly program because i like to use airplay on itunes and watch my videos on apple tv but every time i want to watch a video i have to click other and choose itunes, does anyone know how i can make itunes my default video player

    You need to change it in get info. So go to the video and right click or command & I. Select get info. Under the section that reads open with select iTunes and click on change all. All similar formats will open with iTunes.

  • How can I go to different positions within the video

    Hi,
      I need to be able to play a video at different positions within the video.  Can someone tell me how I can do this?

    in case you using a netstream object you can call:
    ns.play(startinms);

  • How to acquire video from PCI TV tunner card in Labview

    Hello Guys,
    I am a new commer in this fourm and this is my first post.
    I am working on a project where i need to acquire analog video into labview 8.5 for this purpose i have a analog security camera and PCI TV tunner card (Manufactured by ASUS) and i built the routine in Matlab 2007 and its working(But not satisfying me). 
    I am very keen to watch live video stream in Labview so in this regard i need your help . 
    Thanks alot for your time.
    wAqAs
    Design Engineer
    COMTEC PAK

    Gondor wrote:
    Hi  - did you do anything special to get the Labview Mathscript node to use the Matlab Image Acquisition Toolbox?  It won't let me type the following: vid = videoinput('winvideo'); whereas this works just fine in Matlab proper.  Do I have to configure the winvideo adapter in Labview or is it hating my code at an even higher level than this?  (Block Diagram Errors:  "Unknown symbol on line 2 column 7: videoinput" ...)
    First Mathscript is NOT Matlab. It is a National Instruments implementation resembling Matlab. As such it does not and can not make use of Matlab Toolboxes at all.
    Second though not directly related to this. Looking at http://www.mathworks.com/products/imaq/supportedio.html I see that they support a list of specific frame grabber manufacturers and Video for Windows, but not Direct X. So my previous assumption was wrong. What they most likely do in their IMAQ Toolbox is to implement a driver interface to each manufacturer specific API. This is 100% true for the National Instruments boards since NI-IMAQ or IMAQdx is the only means to access them respectively. So I guess they simply interface to the frame grabber manufacturer provided DLLs which you can do of course too in LabVIEW but NI won't do for you since they sell their own frame grabber hardware.
    www.alliancevision.com is a first interesting check to see if you can buy LabVIEW drivers for a particular brand of frame grabber. Many have in the past thought they could quickly put together a frame grabber interface for some hardware by playing around with the Call Library Node to interface to the manufacturer DLLs, but that is serious software business and buying a driver interface is a lot more effective time and economy ways for most people.
    Message Edited by rolfk on 04-21-2010 07:11 AM
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • How to handle 3 different fact tables and measures within a DAX query?

    I am writing a DAX query in DAX studio in Excel against a tabular model that has 4 different Fact tables, but they share the same dimensions. (There's some long story I can't get into here, but unfortunately this is the structure) I want to
    include measures from the 4 fact tables, summarize by the dimensions in a single query output that can be used for a pivot table.  So far I have something like this:
     EVALUATE
    FILTER
        SUMMARIZE
            FactTable1,
            DimensionTable1[Value],        DimensionTable2[Value],
            DimensionTable3[Value],
            Dimensiontable4[Value],
            'dimDateTime'[Month PST],
            DimDateTIme[FiscalYear PST],
            "Measure Score",
            FactTable1[Measure 1],
            "Measure Score 2",
            FactTable1[Measure 2],
        ,Company[CompanyName]="Company ABC" 
    What I want to do is summarize the 3 fact tables by the same dimensions, but I am not sure how to do that within a DAX query.  I am getting an error if I try to include another table statement in the original SUMMARIZE function, even though the FACTS
    do share the same dimension.  Is there an easy way to do this?

    You can use ADDCOLUMNS to add the data from other tables, but you need to use within the SUMMARIZE the fact table that determines the cardinality of the output. If you are not sure (e.g. you project cost and revenues from two fact tables by month and there
    could me months with cost and no revenues, but also months with revenues and no costs), then you should use CROSSJOIN and then FILTER.
    You query might be written as (please note CALCULATETABLE instead of FILTER to improve performance):
    EVALUATE
    CALCULATETABLE (
        ADDCOLUMNS (
            SUMMARIZE (
                FactTable1,
                DimensionTable1[Value],
                DimensionTable2[Value],
                DimensionTable3[Value],
                Dimensiontable4[Value],
                'dimDateTime'[Month PST],
                DimDateTIme[FiscalYear PST]
            "Measure Score", FactTable1[Measure 1],
            "Measure Score 2", FactTable1[Measure 2]
        Company[CompanyName] = "Company ABC"
    Marco Russo http://www.sqlbi.com http://www.powerpivotworkshop.com http://sqlblog.com/blogs/marco_russo

  • How to put a video within a video (not related to opacity!)

    Hi everyone!
    I ve been all over the internet for an answer but cant find one! This is getting really fustrating. This is my first serious editing project and I want it to be perfect
    So what I wanna do is make a transition from one clip to another by putting the next clip within the first one.
    For example, I am filming a window and i want to have another video inside the window. So when I fully zoom on the window, I will move onto the second video.
    So perhaps what i need to do is select a section of the video and replace it with another. But how can i do it?
    Hope you guys understand what I mean? If you need clarification, please ask!
    Thanks for your help and time!

    Wicked! Thats great, its the kind of thing I was looking for!
    My project though is a little more complex. It's a door opening and giving onto the second video! I cant seem to actually create the shape I want with the motion tool. It always keeps my video in a rectangular/square format.
    I basically want to erase the stuff that shows up when the door opens and replace that with the second video. So the shapes I need to fill in are not linear.
    Maybe Premiere is not the software to do this?

  • Trying to Automate distance measuring within an image.

    Ok, The problem I am trying to solve is measuring the size of an object within an image over time. So far I have found enough information to understand how to implement edge detection to isolate the object from the rest of the image, but one thing I can't figure out is how I can measure the number of pixels from one edge to another edge. Does anyone know of any topic or api that addresses this issue? Sorry if I'm not clear I can clarify if you need me to.

    Note: This thread was originally posted in the [Java Programming|http://forums.sun.com/forum.jspa?forumID=31] forum, but moved to this forum for closer topic alignment.

  • How to animate within live video?

    Hi all, new to the boards.
    My dad and I had an idea for a project. I'll give a quick
    rundown. We want to get a remote-controlled helicopter and put a
    wireless camera on the front of it. We can do that no problem.
    We're going to have the camera transmit its signal to a receiver
    hooked up to my laptop, and we're going to see what the helicopter
    "sees" from there. Furthermore, we're going to get some video
    glasses that receive their video input from the laptop, so it'll be
    as if we're inside the helicopter seeing what it sees.
    All that has nothing to do with Flash. However, I want to
    take it a bit further. Flying around is cool and all, but I thought
    it'd be interesting if, when we pressed a button, it'd be like the
    helicopter shot some explosive bullets and made tiny explosions
    wherever they hit at the end of their animation.
    So my question is, is it possible to have live running within
    a Flash execution with animation running over it? If so, how? What
    version do I need, etc?
    Thanks in advance!

    Check out articles here: http://www.adobe.com/devnet/flashmediaserver/
    With respect to your use case: -
    Understanding live DVR
    Creating a video sharing web application using Flex, Flash Media Server, and Flash Media Encoding Server
    Live dynamic streaming and DVR for non-developers
    Also check out : http://fmsguru.com/tutorials.cfm

  • Making selections in a video in imovie 10

    I updated to Maverick and imovie 10 but can't seem to figure out how to make certain edits to my video. I want to select difference parts of my movie and delete them but I can't seem to find any way to do this in imovie10.
    It also seems as if they got rid of a lot of the share options.
    I can't seem to do anything that I use to do in version 9.Is there any manual that might help me or did Apple do away with a lot of the features from imovie 9?

    Tigervision wrote:
    The old imovie 9 use to put a green checkmark by the pictures one used in a video... the new imovie 10 does not.  Drives me crazy.  Is there a way to turn this on??  thanks.
    I've also noticed this. It is a bit annoying when you are placing many pictures in the timeline (say for a slideshow). It becomes difficult to remember which ones have been placed. Certainly, there is no marker or indication on the photos in the iPhoto Library within the iMovie Library. However, if you click back on the Event you will see all photos listed that have been included in your project. Also, right-clicking on a photo in the timeline will reveal a drop down menu. If you select Reveal in Event Browser you will see the photo listed in the Event.
    Of course, this is not as handy as having the photo marked as in iMovie '11 (version 9.0.9). I've not found a way of enabling this feature in iMovie 10.
    if you are using iMovie to prepare a slideshow, a good method is to firstly create an Album in iPhoto then place all the required photos in the preferred order within that Album. Now drag the Album into the iMovie project timeline.
    John

Maybe you are looking for

  • How to disable Logic's dependency on external devices

    I use a tascam US2400 control surface with my Logic. I also use a couple midi keyboards via usb. When I disconnect my control surface, logic will prompt me that it cannot find it. Then, when I connect my keyboards, certain keys that I play alter and

  • Communication Channel is not working

    I have moved the design and configuration from quality XI server to product XI server. But when I start the Communication Channel in RWB, the LED is green, and I cannot get the log details at log area. The communication Channel is file adapter for FT

  • F4 Values for Time Characteristics

    Hello, in F4 on the variable screen of queries for Time Characteristics (like 0CALMONTH) I get all kinds of nonsense entries like: 07.004 or 06.0420 Since I want to get only F4 entries booked in the InfoProvider ... where can I make this setting? The

  • Connecting java to database JDBC

    I have downloaded everything i think i have needed to in order to make the connection. This includes netbeans, oracle thin driver and oracle. I am still unsure if everything is in the right place and if it works. I am able to create a database follow

  • How to disable Install/Upgrade popup message?

    Hello, I just logged into my computer this morning and a popup message tells me to install Java 1.7. Of course I can cancel, but since I have 200 user PC and users should not be using Java 1.7 yet I would like to know can this popup message be disabl