How to track a mobile object, masking the others?

Hi
I work with spherical objects with a dimeter size equal to 100 micrometers. The objects are immersed in a fluid. They are movable, swimming in the fluid. I would like to track one of them, masking the others. Could somebody give me an advise how to do it?
Regards

Hello,
sincu you did not attach any images it's hard to say, but check this out (a toolkit i've made, wrapping various OpenCV functions):
https://decibel.ni.com/content/blogs/kl3m3n/2014/09/05/point-cloud-library-pcl-and-open-computer-vis...
You could use camshift/meanshift tracking based on hue-saturation histogram backprojection, or perhaps you could just try masking your image with backprojection only.
Spherical - since you are processing in 2D space, you can also try using Hough circle transformation to detect the circles and track them on subsequent frames using for example Euclidean distance from detected centers as your criteria.
Can you post a sample image?
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."

Similar Messages

  • How to center a JFrame object on the screen?

    Does somebody know how to center a JFrame object on the screen. Please write an example because I'm new with java.
    Thank you.

    //this will set the size of the frame
    frame.setSize(frameWidth,frameHeigth);
    //get screen size
    Toolkit kit=Toolkit.getDefaultToolkit();
    //calculate location for frame
    int x=(kit.getScreenSize().width/2)-(frameWidth/2);
    int y=(kit.getScreenSize().height/2)-(frameHeigth/2);
    //set location of frame at center of screen
    frame.setLocation(x,y);

  • How to place am mime object on the smartform ?

    Hi All,
    How to place am mime object on the smartform ?
    Is there any function module to read a mime object from mime repository?
    Any help would be appreciated.
    Regards,
    Raja Ram.

    Hi Vishwa,
    Thanks for your prompt response.
    How to get the obj ID of a MIME object?
    I checked in So2_MIME_REPOSITORY bur couldn't find?
    Is there any mapping table between MIME object and object ID ?
    I am very new to MIME objects.
    Please tell me.
    Regards,
    Raja Ram.

  • How do I remove an object from the foreground of a photo eg a fence?

    How do I remove an object from the foreground of a photo eg a fence?

    What version of Photoshop?
    If CC then try here
    Learn Photoshop CC | Adobe TV

  • Lately when I sync certain albums to my iPhone, the tracks are duplicated one behind the other so that I have to listen to each song twice. Why does this happen and how can it be fixed?

    Lately when I sync certain albums to my iPhone, the tracks are duplicated one behind the other so that I have to listen to each song twice. Why does this happen and how can it be fixed?

    Very strange behavior.  Don't entirely give up on the "Manually Added Items" category ... I have seen things magically appear there even after I've checked and seen nothing there.  I think things got real quirky when Apple released iCloud ... I don't remember extra copies of purchases lingering on my iPhone once transferred to my library before that.  Sure, if I bought an album directly to my iPhone it would stay on there even after I sync to my library, but if I deleted the album from the iPhone it stayed deleted.  Now it seems that there are some phantom copies that come and go with no explanation.
    jcburbank wrote:
    I've tried deleting the album from both the phone and from iTunes and then redownloading them to both and the same problem occurs.
    If you're re-downloading an album to iTunes and your iPhone, that may perpetuate the problem.  What happens if you completely delete every copy of the album, then just download to your iTunes library and then sync the album to your iPhone from your library?  That should put only one copy on your iPhone.
    A few other things to try:
    1- Completely sign out of your Apple account on your iPhone, then re-sync to iTunes, then sign into your account on your iPhone again.  Maybe throw in a Reset or at least a power OFF/ON somewhere in the middle.
    2- Go to Settings/ General/ Usage, then select Music and when you see All Music, swipe your finger across it and tap the Delete button.  Before doing anything else, Reset your iPhone.  This does not actually delete your music, but seems to clear up some cobwebs left behind (people use this technique to reduce "Other" that swells up over time).

  • How could I pass object to the other object

    Hi,
    How could I pass an object to the new initializing object, so that I can reference to the first object later?

    You mean something like
    MyClass1 myclass1 = new MyClass1();
    MyClass2 myclass2 = new MyClass2(myclass1); // <-- myclass1 is being passed to the constructor of myclass2                                                                                                                                                                                                                                                                                                                                                       

  • How can I write new objects to the existing file with already written objec

    Hi,
    I've got a problem in my app.
    Namely, my app stores data as objects written to the files. Everything is OK, when I write some data (objects of a class defined by me) to the file (by using writeObject method from ObjectOutputStream) and then I'm reading it sequencially by the corresponding readObject method (from ObjectInputStream).
    Problems start when I add new objects to the already existing file (to the end of this file). Then, when I'm trying to read newly written data, I get an exception:
    java.io.StreamCorruptedException
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    Is there any method to avoid corrupting the stream? Maybe it is a silly problem, but I really can't cope with it! How can I write new objects to the existing file with already written objects?
    If anyone of you know something about this issue, please help!
    Jai

    Here is a piece of sample codes. You can save the bytes read from the object by invoking save(byte[] b), and load the last inserted object by invoking load.
    * Created on 2004-12-23
    package com.cpic.msgbus.monitor.util.cachequeue;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.RandomAccessFile;
    * @author elgs This is a very high performance implemention of Cache.
    public class StackCache implements Cache
        protected long             seed    = 0;
        protected RandomAccessFile raf;
        protected int              count;
        protected String           cacheDeviceName;
        protected Adapter          adapter;
        protected long             pointer = 0;
        protected File             f;
        public StackCache(String name) throws IOException
            cacheDeviceName = name;
            f = new File(Const.cacheHome + name);
            raf = new RandomAccessFile(f, "rw");
            if (raf.length() == 0)
                raf.writeLong(0L);
         * Whne the cache file is getting large in size and may there be fragments,
         * we should do a shrink.
        public synchronized void shrink() throws IOException
            int BUF = 8192;
            long pointer = getPointer();
            long size = pointer + 4;
            File temp = new File(Const.cacheHome + getCacheDeviceName() + ".shrink");
            FileInputStream in = new FileInputStream(f);
            FileOutputStream out = new FileOutputStream(temp);
            byte[] buf = new byte[BUF];
            long runs = size / BUF;
            int mode = (int) size % BUF;
            for (long l = 0; l < runs; ++l)
                in.read(buf);
                out.write(buf);
            in.read(buf, 0, mode);
            out.write(buf, 0, mode);
            out.flush();
            out.close();
            in.close();
            raf.close();
            f.delete();
            temp.renameTo(f);
            raf = new RandomAccessFile(f, "rw");
        private synchronized long getPointer() throws IOException
            long l = raf.getFilePointer();
            raf.seek(0);
            long pointer = raf.readLong();
            raf.seek(l);
            return pointer < 8 ? 4 : pointer;
         * (non-Javadoc)
         * @see com.cpic.msgbus.monitor.util.cachequeue.Cache#load()
        public synchronized byte[] load() throws IOException
            pointer = getPointer();
            if (pointer < 8)
                return null;
            raf.seek(pointer);
            int length = raf.readInt();
            pointer = pointer - length - 4;
            raf.seek(0);
            raf.writeLong(pointer);
            byte[] b = new byte[length];
            raf.seek(pointer + 4);
            raf.read(b);
            --count;
            return b;
         * (non-Javadoc)
         * @see com.cpic.msgbus.monitor.util.cachequeue.Cache#save(byte[])
        public synchronized void save(byte[] b) throws IOException
            pointer = getPointer();
            int length = b.length;
            pointer += 4;
            raf.seek(pointer);
            raf.write(b);
            raf.writeInt(length);
            pointer = raf.getFilePointer() - 4;
            raf.seek(0);
            raf.writeLong(pointer);
            ++count;
         * (non-Javadoc)
         * @see com.cpic.msgbus.monitor.util.cachequeue.Cache#getCachedObjectsCount()
        public synchronized int getCachedObjectsCount()
            return count;
         * (non-Javadoc)
         * @see com.cpic.msgbus.monitor.util.cachequeue.Cache#getCacheDeviceName()
        public String getCacheDeviceName()
            return cacheDeviceName;
    }

  • How to add a ChartOfAccounts object into the database.

    how to add a ChartOfAccounts object into the database. please shows sample code
    thanks

    Dim CoA As SAPbobsCOM.ChartOfAccounts
                CoA = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oChartOfAccounts)
                CoA.Code = 11223344
                CoA.ExternalCode = "a1234"
                CoA.ForeignName = "f Test Account"
                CoA.Name = "Test Account"
                CoA.AccountType = SAPbobsCOM.BoAccountTypes.at_Other
                CoA.ActiveAccount = SAPbobsCOM.BoYesNoEnum.tYES
                CoA.FatherAccountKey = 100001
                If CoA.Add <> 0 Then
                    MessageBox.Show(oCompany.GetLastErrorDescription)
                Else
                    MessageBox.Show("Added Account")
                End If
    Remember the father account key must be a valid account number in the company where you are trying to add the new account.  (The G/L Account code seen in the SBO client)

  • How to install apple mobile device support in other drives other than C drive, how to install apple mobile device support in other drives other than C drive

    how to install apple mobile device support in other drives other than C drive, how to install apple mobile device support in other drives other than C drive
    as my C drive is full ...

    Move some of the "crap" off the C drive.  Programs only install to the default OS drive.
    Or upgrade the computer to a larger hard drive.

  • I have Acrobat installed on one PC but the licence is for up to 2. How do I download it on to the other computer?

    I have Acrobat installed on one PC but the licence is for up to 2. How do I download it on to the other computer?

    Acrobat XI, X - http://helpx.adobe.com/acrobat/kb/acrobat-downloads.html
    Acrobat 9, 8 - http://helpx.adobe.com/acrobat/kb/acrobat-8-9-product-downloads.html

  • How do I download Mountain Lion to the other computers at my home without additional cost? I downloaded 10.8 to my main IMac but have two additional computers in my home.?

    How do I download Mountain Lion to the other computers at my home without additional cost? I downloaded 10.8 to my main IMac but have two additional computers in my home.?

    Install 10.6.8 on the other computers. Sign into the App Store with the same Apple ID used to purchase Mountain Lion. Click on the Purchases icon in the toolbar. Locate your Mountain Lion purchase entry which will show an active Install/Download button to the right of the entry. Click on it to download to the computer. If you don't wish to download Mountain Lion twice, then do this:
    Make Your Own Mountain/Lion Installer
    1. After downloading Mountain/Lion you must first save the Install Mac OS X Mountain/Lion application. After Mountain/Lion downloads DO NOT click on the Install button. Go to your Applications folder and make a copy of the Mountain/Lion installer. Move the copy into your Downloads folder. Now you can click on the Install button. You must do this because the installer deletes itself automatically when it finishes installing.
    2. Get a USB flash drive that is at least 8 GBs. Prep this flash drive as follows:
    Open Disk Utility in your Utilities folder.
    After DU loads select your flash drive (this is the entry with the mfgr.'s ID and size) from the left side list. Click on the Partition tab in the DU main window.
    Under the Volume Scheme heading set the number of partitions from the drop down menu to one. Set the format type to Mac OS Extended (Journaled.) Click on the Options button, set the partition scheme to GUID then click on the OK button. Click on the Partition button and wait until the process has completed.
    Select the volume you just created (this is the sub-entry under the drive entry) from the left side list. Click on the Erase tab in the DU main window.
    Set the format type to Mac OS Extended (Journaled.) Click on the Options button, check the button for Zero Data and click on OK to return to the Erase window.
    Click on the Erase button. The format process can take up to an hour depending upon the flash drive size.
    3. Locate the saved Mountain/Lion installer in your Downloads folder. CTRL- or RIGHT-click on the installer and select Show Package Contents from the contextual menu. Double-click on the Contents folder to open it. Double-click on the SharedSupport folder. In this folder you will see a disc image named InstallESD.dmg.
    4. Plug in your freshly prepared USB flash drive. You are going to clone the content of the InstallESD.dmg disc image to the flash drive as follows:
    Double-click on the InstallESD.dmg file to mount it on your Desktop.
    Open Disk Utility.
    Select the USB flash drive from the left side list.
    Click on the Restore tab in the DU main window.
    Select the USB flash drive volume from the left side list and drag it to the Destination entry field.
    Drag the mounted disc icon from the Desktop into the Source entry field.
    Double-check you got it right, then click on the Restore button.
    When the clone is completed you have a fully bootable installer that you can use without having to re-download Mountain/Lion.
    Note: The term Mountain/Lion used above means Lion or Mountain Lion.
    As an alternative to the above you can try using Lion DiskMaker 2.0 that automates the process.

  • How to track lost mobile

    Hi all,
    I lost my Nokia 1600 mobile havving very vital information in it. Anyone please let me know how to track the mobile i have serial number of the mobile.
    vicky

    It's not possible to track or trace lost or stolen mobiles.
    The only people who can track them are the police with the help of your service provider. This costs time and money so they will only do this when someones life is at risk.
    Sadly there is nothing you can do apart from reporting the loss to your service provider and the police (if you need to for insurance purposes).
    Message Edited by psychomania on 25-Apr-2008 08:42 AM

  • XSLT - How to pass a Java object to the xslt file ?

    Hi ,
    I need help in , How to pass a java object to xslt file.
    I am using javax.xml.transform.Tranformer class to for the xsl tranformation. I need to pass a java object eg
    Class Employee {
    private String name;
    private int empId;
    public String getName() {
    return this.name;
    public String getEmpId() {
    return this.empId;
    public String setName(String name) {
    this.name = name;
    public String setEmpId(int empId){
    this.empId = empId;
    How can i access this complete object in the xsl file ? is there any way i can pass custom objects to xsl using Transformer class ?

    This is elementary. Did you ask google ? http://www.google.com/search?q=calling+java+from+xsl
    ram.

  • How do I create an object on the fly

    Hello there,
         I was wondering if it is possible to create an object on-the-fly. For example:- I have a class called Customer which holds the name, address and phone number of a customer. While the program is running I get a new customer, Mr Brown. How can I create a new Customer object which will hold the details of Mr Brown.
    yours in anticipation
    seaview

    If I understood you right, you are thinking far too complicated.
    So, when you click a button, a new object shall be created and stored. So basically you write a listener to your button that contains a method like this:
    public void actionPerformed(ActionEvent e){
       Customer newCustomer = new Customer(textfield.getText());
       listOfCustomers.add(newCustomer);
    }Maybe what got you confused is the object's name. Remember this: variables and field names DON'T exist anymore at runtime! They are just meant to help you when programming. If you want Mr. Brown as a customer, you have to provide a field in the customer class for the name. If a field is required for the existence of an object, you usually write a custom constructor for it, which accepts an according parameter.

  • How to instanciate/restore an object in the target JVM

    Hi,
    For the needs of a runtime project, I'd like to be able to interrupt the main method of my target VM as it starts (that, I can do), and call a static method that takes an object as parameter. At this point, obviously, the argument object is not defined, so I'd like to instanciate it from my runtime program (debugger). I don't know how to do that. I thought I could use the ClassType.newInstance() method, but the class I want to instanciate is not loaded yet, so I don't know how to get the right ClassType object.
    Actually what I'd like to do in the end is to be able to recreate an object (deserialize) to the target VM, so what I'm really looking for is a way of setting an entire object without having to invoke its constructor method. Does the redefineClass() method help here ? I'm not sure...
    Does someone knows a way of doing this ?
    Thanks

    Hi Tatayya,
    so I understand you right, that you want to launch a JSP from a different PAR file? You could do the following in this case.
    Create an additional JSP in the (first) PAR that simply does a redirect to the second iView (form the other PAR). In the contoller class of your first PAR, perform a this.setJspName("redirectMe.jsp").
    If you want to keep displaying the original JSP in the iView and simply display an additional popup, you could try:
    don't change the this.setJspName() (i.e. set it to the original page)
    Use a bean that stores a value like "showPopup yes/no"
    Query the bean in the JSP and render some javascript:window.open() code if "showPopup=true".
    Hope that helps,
    Dominik

Maybe you are looking for