(Note, I'm responding to both pythonvision and scikits-image. Sorry to those people only subscribed to one list.) I think more information might be helpful. - How many images do you have that you need to analze? - Are they movies, or completely separate frames? - What is common in the images (background, lighting, camera pose?) I wouldn't worry about efficient multi-template matching until you know if multi-template matching works at all. If template matching can get 60% of the beads, though, I expect multiple templates should be able to get almost all of them, possibly using a voting scheme where you require a bead to match multiple different templates before reporting it as a "hit". You might look at ilastik (http://www.ilastik.org/) as another approach. Thouis Jones On Tue, Apr 12, 2011 at 06:24, Alex Liberzon <alex.liberzon@gmail.com> wrote:
Thanks for the feedback.
There are both effects, the beads are different sizes and also as you noticed at different depths. but the variation is not very large, i.e. within a difference of 10 - 15 pixels I'd say. I have no idea how to use multiple templates efficiently. Of course I can repeat normalized cross correlation attempt few times.
I can modify the experiment, so the next time will be hopefully better. Meanwhile, this data is important to extract from the images as is.
Regards, Alex
On Apr 11, 10:56 pm, "Thouis (Ray) Jones" <tho...@gmail.com> wrote:
Are the beads actually different sizes, or just at different depths in the image. And how fixed is your camera system relative to the scene? I ask, because it seems like you could use multiple templates, parameterized by image position, to adjust for the size and blur variation.
Also, do you have the option of modifying the scene illumination? Can you use color, or multiple exposures, or are the images "as-is" and there's no option for making the beads more visible?
Best, Ray Jones
On Mon, Apr 11, 2011 at 19:49, Alex Liberzon <alex.liber...@gmail.com> wrote:
Dear pymorph members,
I have some difficulty to identify specific objects from the grayscale image. For example, in this image https://picasaweb.google.com/lh/photo/FYZ1_F4OAoe920iYj8bk7A?feat=dir... one can see about 15 glass beads on the floor illuminated from the left side. Human eye identifies them easily, but I cannot find the efficient way to identify them in such an image. Using Matlab the approach was 1) crop out one of the beads as is from the given image, and then 2)using normalized cross-correlation (normxcorr2) of the cropped bead with the image to identify the 50 - 60% of beads. The problems are due to uneven background illumination, different size of the beads and different light pattern due to their angle in respect to the light source. I could define the the problem of looking a feature that has two not- connected bright regions, separated by some distance that could be known within some reasonable limits.
Any suggestion is gratefully appreciated. If possible, the pseudo-code would be helpful. Note that I also posted this question on skikits- image mailing list so if you receive it double, I apologize for that.
Thanks, Alex
Hi, Thanks to all for the help. - there are hundreds to thousands of images to analyze - these are separate frames but taken at short time intervals such that it's possible to consider them as a sequence of movie frames - all these: background, lighting and camera pose are common. But, in addition to the specific balls moving in the frames, there are also other particles moving that need to be tracked separately. Hope it helps, Alex On Apr 12, 1:15 pm, "Thouis (Ray) Jones" <tho...@gmail.com> wrote:
(Note, I'm responding to both pythonvision and scikits-image. Sorry to those people only subscribed to one list.)
I think more information might be helpful.
- How many images do you have that you need to analze? - Are they movies, or completely separate frames? - What is common in the images (background, lighting, camera pose?)
I wouldn't worry about efficient multi-template matching until you know if multi-template matching works at all. If template matching can get 60% of the beads, though, I expect multiple templates should be able to get almost all of them, possibly using a voting scheme where you require a bead to match multiple different templates before reporting it as a "hit".
You might look at ilastik (http://www.ilastik.org/) as another approach.
Thouis Jones
On Tue, Apr 12, 2011 at 06:24, Alex Liberzon <alex.liber...@gmail.com> wrote:
Thanks for the feedback.
There are both effects, the beads are different sizes and also as you noticed at different depths. but the variation is not very large, i.e. within a difference of 10 - 15 pixels I'd say. I have no idea how to use multiple templates efficiently. Of course I can repeat normalized cross correlation attempt few times.
I can modify the experiment, so the next time will be hopefully better. Meanwhile, this data is important to extract from the images as is.
Regards, Alex
On Apr 11, 10:56 pm, "Thouis (Ray) Jones" <tho...@gmail.com> wrote:
Are the beads actually different sizes, or just at different depths in the image. And how fixed is your camera system relative to the scene? I ask, because it seems like you could use multiple templates, parameterized by image position, to adjust for the size and blur variation.
Also, do you have the option of modifying the scene illumination? Can you use color, or multiple exposures, or are the images "as-is" and there's no option for making the beads more visible?
Best, Ray Jones
On Mon, Apr 11, 2011 at 19:49, Alex Liberzon <alex.liber...@gmail.com> wrote:
Dear pymorph members,
I have some difficulty to identify specific objects from the grayscale image. For example, in this image https://picasaweb.google.com/lh/photo/FYZ1_F4OAoe920iYj8bk7A?feat=dir... one can see about 15 glass beads on the floor illuminated from the left side. Human eye identifies them easily, but I cannot find the efficient way to identify them in such an image. Using Matlab the approach was 1) crop out one of the beads as is from the given image, and then 2)using normalized cross-correlation (normxcorr2) of the cropped bead with the image to identify the 50 - 60% of beads. The problems are due to uneven background illumination, different size of the beads and different light pattern due to their angle in respect to the light source. I could define the the problem of looking a feature that has two not- connected bright regions, separated by some distance that could be known within some reasonable limits.
Any suggestion is gratefully appreciated. If possible, the pseudo-code would be helpful. Note that I also posted this question on skikits- image mailing list so if you receive it double, I apologize for that.
Thanks, Alex
participants (2)
-
Alex
-
Thouis (Ray) Jones