Detect the shift in two consecutive low contrast images

Hello

To determine how fast a sample of ice sliding USB camera (rate of about of 30 mm/min) I head to align an image every 5 ~ 10 sec and then compare the two images. I'm fighting to get a robust method to determine the displacement. The main displacement will be that in a sense however ice may move a few pixel widths in the other direction as it slides in front of the camera.
Currently I am comparing the two images taking a large (400 x 800 pixels) KING of the second picture, then taking the pixel values average of all the columns in the two images that then allows me to subtract 1 d arrays that result and find the position where the difference is minimal.
This works very well for the "perfect" images but no longer reliable with less then perfect images.
Because the images are samples of ice with very little "features" (not counting the odd are bubbles) and low contrast, I feel that I have to rely on profiles in levels of medium gray rather then a 'function' follow-up or detect an edge etc..

The berries average grayscale of the King plotted in the graph to see the clear peaks and valleys, so another method would be to match the data but I don't know how to do it again.

Any suggestions on how I can better determine the displacement between the images? The method should relatively quickly because it must be in 'real time', i.e. within seconds.

Thanks as always for all of your help.

Jack

Hi again

Advice of Follwing Mike subtract images I've played around with this feature and have now the principle works well.
In case someone else I would try something similar please see attached the VI and two images of the example that I used to experience.

Well yet, which doesn't seem to work, it's the method of detection of peak/Valley. Any width I put may not find the Valley... suggestions welcome!

Have a great day.

Jack

Tags: NI Software

Similar Questions

  • Comparison of the values of two consecutive lines.

    Hello.
    I can compare the value of the same field in two consecutive rows?

    If this is the case. How could I do?

    Thanks in advance

    Hello

    Check [function Lag Lead | http://www.oracle-base.com/articles/misc/LagLeadAnalyticFunctions.php].

    Twinkle

  • How to detect the red frame in a series of images using the webcam?

    Hey, I'm a new use lab view(8.2_n_8.6).kindly ca any1 help out me in the detection of the color red in a series of frames being taken by a usb web cam.i have done the striking thing but don't know what to do now.plz help out me. Basically, I have to do the following:

    (1) the camera continually does video

    (2) at the time of what a red or red frame color comes through the camera, the camera is programmed, such that she will grab this red box. and display the captured image

    Please hep me out.i need serious help.

    I enclose a vi that is striking images and then the info n thn displyaing color red xtracting his lines intensities and wise coumn on a graph.here, I used a Gaussian surface to locate the color red.


  • Table 1 d with rejection of the two consecutive points

    Hello

    I have table 1 d with 10 measuring points. I treat points in pairs and according to the difference between two consecutive points, I have decision weather the two points must remain in the table or should be rejected. For example, my 1 d table looks like this: 10, 20, 30, 35, 40, 44, 50, 51, 60, 69. I calculate the difference between consecutive points by pairs: 20-10 = 10, 35-30 = 5, 44-40 = 4, 51-50 = 1, 69-60 = 9. I would like to reject the table points with the value of the gap less than 2. In my case, the points are 50, 51 and the table after the rejection should have 8 items and look like this: 10, 20, 30, 35, 40, 44, 60, 69. What is the most elegant way to do it? I'm in LabVIEW 8.6.

    Thanks in advance!

    Review your original message and your example to better understand your stated requirements.

    "I treat the couple points."

    You have to take into account only the pair of 1st and 2nd point, then don't take into account the point of 3rd and 4th pair so on and so forth.

    Never consider the 2nd to 3rd or her never consider the 4th to the 5th, so on and so forth?

    What is your table? If it is very large (1000000 points), you may need to consider other options for the use of memory and speed.

  • Measure the time between two digital pulse

    Hello

    For a non-critical calendar application, I need to measure the time interval between consecutive TTL pulses, ranging from the order of 0.5 s for a few seconds, with a low accuracy of +/-10-50ms. The interval being measured varies between the rising edge of the first pulse and the front of the next and so on.

    I have several input lines I need to deal with. Because it's a critical machination low cost, I don't want to use digital counters for each line, so I work with an acquisition of data USB6008 and have connected the input rows TTL on the digital inputs of the device. Avoiding will be sufficient.

    I found a good example of VI on discussion forums that does almost the same thing, only it uses instead of the DAQ Assistant user input. The VI works including the time the program going on in a while loop. I replaced with the DAQ Assistant output (a channel) user input in the hope that it is still work.

    When I run the program in "run once" mode, it seems to work perfectly. However, in "continuous run" it measures only a very small interval, probably just the time between two samples.  I think it has something to do with the help of a while loop in combination with the DAQ Assistant. Anyone who has any suggestions how to solve this problem?

    Thank you!

    OK... first of all, you should never use the button "run continuously.  I wish that NEITHER would be to eliminate it, but told me that it is sometimes useful for debugging.  If you want your program to run over and over again, use a while loop with a stop"" button.

    If I'm reading your code correctly, you make your initial moment, and then collect data from data acquisition.  When one of the channels is "T", you stop your loop and the end time of capture.  (By the way, why you convert your table to a cluster?  Why not just index the appropriate channel in the table directly?)

    Since you want to capture the time between two consecutive pulses, you need to know when a transition has occurred... i. e when your digital line went from F (no pulse) to T (pulse start).  This will give you your forehead.  Right now, all you're doing is looking for a value T - so you have no way of knowing if you are looking for to the previous impulse again, or a new impetus.  You also burn 100% of your processor with the way you have your programme in place.

    You need a small loop delay so that your VI is not 100% of your hogs CPU time.  Given that you can live with an accuracy of 50msec, what I suggest that you use.

    See attached picture for you give an idea of how to implement.  He will probably need some refining operations, but it should point you in the right direction.

    I hope this helps.

  • Detect the key or modifier in a button MouseUp event?

    Are there opportunities to achieve? When I app.alert "hits" or "modifiers" property, it always returns false. Any chance of detecting if and probably even (modifier) key has been pressed when you click on the button?

    To detect the shift, use event.shift. See the documentation for more information: http://livedocs.adobe.com/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/JS_API_AcroJS.88.604.html

    There is no way of knowing what the other keys are pressed when a button is clicked.

  • I missed the SHIFT key and press several keys in the lower corner of my keyboard LH. Firefox split up into several iterations, and I had to reboot.

    I missed the SHIFT key and press several buttons in the lower left corner of my keyboard. Firefox has lost the tab that I was using and divided into a separate iteration for each other (plus two I had closed). I could not recover and had to close all but one of them and restore all my tabs.

    What I had done and how I should have recovered?

    First, you need to update to Firefox 18.0.1 Firefox updated to the latest version. The version you are on is bug and little course.

    Second, it looks like you may have entered groups of tabs. Use tab groups to organize a large number of tabs is that look familiar?

  • How to solve the problem of low contrast pages in case of low vision?

    Pages like the page "Start" of Firefox are also low contrast these days that they are almost impossible for me to read. What is the case with Google maps and many other sites. (At mode...?) Anyone know if there are any settings or plugins or anything to get rid of this problem?
    The only thing on the contrast enhancement, that I could find uses the EXTRA menu, but my version of Firefox is not in this menu. (Version Netbook)
    Help would be greatly appreciated!

    These three can be useful and integrated in Firefox to change the themes of pages: https://support.mozilla.org/en-US/kb/accessibility-features-firefox-make-...

  • variable sharing, missing data, the timestamp even for two consecutively given

    Hello

    I have a problem with missing data when I read a published network shared variable.

    Host VI:

    In a host of VI on my laptop (HP with Windows XP Prof.) I write data to the shared Variable 'data '. Between two consecutively write operations is a minimum milliseconds of wait time. I use it because I want to make sure that the time stamp of each new value of data is different then a preview (variables shared the resolution is 1 ms)

    VI target:

    the VI target cRIO-9012 bed only of new data in the way that it compares the timestamp of a new value with the time stamp of the last value on a device in real time.

    Problem:

    rarely, I'm missing a data point (sometimes everything works fine for several hours, transfer thousands of data correctly above all of a sudden failure occurs). With a workaround, I'm able to catch the missing data. I discovered that the missing data have the timestamp exactly the same, then the last point of data read, is so ignored in my data 'legal '.

    To summarize, the missed value is written to the variable shared host, but ignores the target because its timestamp is wrong, respectively the same as the last value, despite the host waits for a minimum of 10 milliseconds each time before writing a new value.

    Note:

    The shared Variable is hosted on the laptop and configured using buffering.

    The example is simple only to display the function of principle, in real time, I also use a handshake and I guarantee that there is no sub - positive and negative.

    Simplified example:

    Question:

    Anyone has an idea why two consecutively data can have the same timestamp?

    Where timestamping (evil) Finally comes (System?)?

    What would be a possible solution (for the moment with shared Variables)?

    -> I tried to work around the problem with the clusters where each data gets a unique ID. It works but it is slower that comparing the timestamps and I could get performance problems.

    It would change anything when I animate the shared on the RT System Variable?

    Thanks for your help

    Concerning

    Reto

    This problem has been resolved in LabVIEW 2010.  You can see other bugs corrections in theReadme of LabVIEW 2010.

  • How to program the shift register to play only when a new user is detected user?

    Hello

    I'm currently developing a program of position control in labview. The program is quite simple, in which case the user will enter the distance on which he wants the table in the labview program and labview will send the signal to move a motor that will turn a ball screw to move a table horizontally to the targeted position. The criterion is that the profile of the engine depends on the distance to move, if a biphase (acceleration and deceleration) or three phase (acceleration, steady speed, deceleration) to reach the position of the target.

    The problem occurs when the user wants to enter a new entry second position) for the table, as the input by the user is the position that the table should be, but the necessary input to determine what profile the engine follows depends on the distance that the table moves to the target position. Therefore, I need a function to save the entry by the user temporarily and reminds that when a new user input is detected. Hereby, I would be able to use the difference of the input (input [n + 1] [n] input) and animal feed to determine what profile the engine follows and the entry by the user can be kept in the position he wants to the table to get (to compare with encoder).

    I thought to use for shift registers do, but I am not able to perform the deduction ([n + 1] - [n]) only when it detects a new entry. When I try to use registry to offset, it moves to the target location, and we only reached it will go to the original position. For example, when a user entry 90, this means that the table must be moved to the point 90. The shift register is initialized to 0, it will move to the point 90 (90-0 = 90), but arriving at 90, the shift register sends a signal of 90 (90-90 = 0) and the table back to its original position.

    Is it possible that I can delay the reading of the shift register only when a new entry is detected or there at - it another way for me to achieve what I want?

    I tried searching the forum site and neither discussion but could not find similar problems. Thank you for your help in advance.

    As I understand it, the use of shift registers with a structure of the event (to detect a user event when the user enters a new value) should solve the problem. Do not forget to post your request (or a version of it that isolates the issue) when you arrive at the lab, if we can get a clear visual of the issue you are facing.

  • Windows Vista detects the wireless network but will not connect to it. Two other users in the same office connect without difficulty.

    The title says it all really.

    I was connected and working normally for about an hour this morning, until suddenly the connection has been lost.
    Windows detects the wireless network but will not connect. Two other users in the same office connect without difficulty.
    Help, please.
    Thank you.
    original title: vista detection network but will not connect

    Hi JulianBeach,

    1. you have made no changes to the computer before the broadcast took place?
    2. What is the exact error message you get?
    3 is connected to the domain of the computer?
    4. what happens when you try to connect to the network?

    Try the steps from the following link:
    Windows wireless and wired network connection problems
    http://Windows.Microsoft.com/en-us/Windows/help/wired-and-wireless-network-connection-problems-in-Windows

    Additional information:
    Wireless network card: frequently asked questions
    http://Windows.Microsoft.com/en-us/Windows-Vista/wireless-networking-frequently-asked-questions

  • How can I detect the support version lower than 4.7 touchscreen

    Hi all

    I am developing an app for non touch devices with version 4.5 of departure and now will make the same application for devices supporting contact, so planned to use the Touchscreen.isSupported () - but it is available only from 4.7. But the app should take charge of 4.5, so how do I detect the device is palpable or not palpable in version 4.5?

    Thanks in advance,

    Kitty.

    You can use this code:

    new Canvas() {}
    protected void paint (Graphics graphics) {}
    }
    }. hasPointerEvents()

  • ProBook 4720 s does not detect the SD card inserted

    I get no response when a SD card snaps, but 8 GB Transcend card is recognized very well of my little netbook from Toshiba.

    This is the first time I tried a card in this HP, although I got it a few months. Running Win 7 Pro 32-bit.  BIOS HP 68AZZ worm F.0F 18/02/2011.

    Well, I contacted HP support and got a helpful response within a day. Siva gave me urls for two drivers that I apparently needed (not very new drivers and I don't know why they were not there in this new machine, but any way..) and they installed, unlike the one I found just for me and giving a message "forbidden". However, once installed, both raised the box "this program cannot be installed correctly" (that I've seen before and never known what to do about it except devoted to work and hope for the best).

    With the drivers installed, the system * fact * detect the SD card so that it has shown in Device Manager and gave sound signals when it has been installed and removed. But he does not have assigned a drive letter and did not show in Windows Explorer, while it was still incommunicado or to serve as a ReadyBoost file storage.

    Thinking that it seemed that HP problems were over and it is now a Windows problem, I spent a few hours to make the seemingly useless things in Windows, all having to do with recovery of AutoRun, which is not.

    Now the SHIFT key while inserting the SD card could start AutoRun. Also, I gave the command 'net start shellhwdetection' and told me that the service was already running. And AutoFix.exe from Microsoft verified that the shell hardware detection service was on and the autostart value. But to step next, as the wizard repair didn't see that other readers, not the SD card, so I couldn't specify only * that * drive AutoPlay wasn't working on, and which ends the program.

    Support software MS said that if ReadyBoost enabled and there (and it was) and still does not work there because some services he needed had been extinguished. So I Dove to the various lists and tried to turn on anything that seemed relevant and which has not already lit.  Nothing seemed to still accept my changes. Very frustrating. But then I went back to where I had left access control panel in Explorer, and I saw that the SD card has sometime been recognized and awarded drive E. Shazam!

    Therefore, all followed the script and I could bring up the window of the tab (in the properties of the drive E) option for ReadyBoost and say, go ahead. He did, and it seems to work very well. It closes fast when I close the lid, with several major programs running, as well as 4 windows in FF with about 12-24 tablets of each, and it took only 60 seconds to wake up this morning.

    So the problem is solved with something good help at HP, but not gracefully or usefully for others, I'm afraid, because I can't say yet exactly what I did.

  • Detect the bump online Laser

    Hello world

    I'm working on a project where I use a laser to detect the number of bumps on the surface. A screenshot of the laser profile is attached. Now I'm running out of ideas, how do I detect if there are bumps two or three.

    I tried to use find straight edges, it's giving me some good results, but when I use IMAQ find edge VI in LabVIEW to do this, I'm not able to get something, but the points are identical to the original line.

    See all screenshots

    Can someone please help me detect and count the number of bumps.

    Kind regards.

    Shane5ab

    Here's an idea:

    Use the rake function to find the coordinates of edge first, the high or low (top might work better).  Set up a line for these coordinates (elimination of outliers) and subtract the coordinates sent the original coordinates.  Simply extract the coordinates Y.  Find peaks allows to find bumps and count them.  You can also calculate the slope (derivative of 1) or second derivative and locate the bumps with these graphs.

    Bruce

  • Time Machine (on Mac) does not detect the airport Time Capsule

    Originally posted on the page of the airport, but seems to be the better question for this group. Sorry for the double post

    Looking for advice on how to get the Time Machine utility for access to my Time Capsule. I use an iMac in late 2012 with MAC OS 10.12 TimeCapsule is 2015 7.7.7 running latest firmware. Airport utility is the latest firmware 6.3.7.

    When I run the application Time Machine, Time Capsule is not detected. I tried the two WiFi and with cables connected Ethernet (not tried USB yet) and my Time Capsule doesn't have a lightning bolt or firewire ports.

    Open Airport utility & see the airport time capsule. I can see all connected devices, including the MAC, but no prompt activation Time Machine on the Time Capsule.

    I recently used TM on this iMac with a G-Technology drive. It auto detects the time machine and executes a back up. But airport Time Capsule will not.

    Any suggestions?

    Sierra has been problematic with the TC.

    1. make sure you don't have any charge virus protection software. In fact, I would say that disable all software 3rd part at the moment.

    2. make sure that you can actually write to disk of TC.

    Attach the TC disc in the finder and copy a file on disk, you can delete it later... It's just to ensure that you have full write permission. If it does not for the most part, you won't be able to use Time Machine... If you can then try TM immediately...

    Just to be clear, the TC is a network device. You have tested with ethernet and wireless... Ok.. They are only suitable methods. You cannot use USB. And clearly, TC has never had nor will never be ports Firewire or lightning.

    3. no chance that a reset complete TC. This will not delete the files on the hard drive, but you must make sure that the device is configured on the current computer.

    4. There are many positions in these days... read through them and do some research. Sierra is a bleeding edge new... So wait you to spend a lot of the precious liquid if you choose to be an early adopt.

Maybe you are looking for

  • HP SlimDesktop 450-a114: keyboard and mouse only work in safe mode

    When that I starts normally, the keyboard and the mouse do not work and I can not connect. If I boot in safe mode, the mouse and keyboard and I can open a session. In safe mode, when I go into Device Manager, the device of keyboards is "HID Keyboard

  • Title bar

    Hello I'm using labview 7.0. I use the wizard in Control Panel to access the next screen, but sometimes it shows the title bar gets blink, even if I deleted the properties title bar. Why does this happen? Let me know your valuable comments.

  • Is there a way to interrupt the sounds on 8610 all-in-One?

    The sound (for bumps and flourishes when it turns on or off, etc.) on my new 8610 is so tinny and distorted that I prefer to do without. Is there a mute option anywhere? Or a way to disable the speaker of very poor quality?

  • Cursor takes the form forms only in Internet Explorer and not in google chrome etc...

    I use Windows 7 64 bit and IE 11 on my HP ProBook s 4430. Everytime I open a Web site (for example search Google or even this window where I'm typing this msg) and type text, the cursor shape is changed automatically. Sometimes it is a very simple th

  • Impression of light (all of a sudden)

    Hi and thanks in advance, I have a small (2 computers 1 wireless) where printing network works well between 2 machines but one (in the last 2 weeks)... weak draws almost invisible... but you can bairely see the words and you will hear the printhead t