From: ImageAnalyst on 3 May 2010 22:28 OK I think I understand now. How about if you use fuzzy c-means clustering? http://en.wikipedia.org/wiki/Cluster_analysis#Fuzzy_c-means_clustering Basically you scan all the points not in your blobs and fuzzy will give you a weight for the degree that that pixel belongs to each cluster. You can use those to weight each color to come up with a composite color. Getting the mean color of the clusters is easy so it that will do the job, great, if you really really need the color of the closest pixel in the neighboring cluster, then you're in for some more work. Altenatively (but this may take some time) is to calculate the Euclidean distance transform for each blob one at a time, then use all the EDT values from the various transforms, and the color of that blob, to get the composite color. Otherwise I think you may just have to do some kind of ad hoc special purpose programming to get each pixel one at a time.
From: Punkaj on 3 May 2010 23:02 > > Altenatively (but this may take some time) is to calculate the > Euclidean distance transform for each blob one at a time, then use all > the EDT values from the various transforms, and the color of that > blob, to get the composite color. > > Otherwise I think you may just have to do some kind of ad hoc special > purpose programming to get each pixel one at a time. Hi, the cluster idea seems interesting, but for this purpose, the mean value is not accurate enough. We have thought of using the euclidean distances as you have suggested, but i am having quite a few problems programming it and i understand that to analyze each picture may take minutes if not longer. I did not write the original code posted and have limited matlab experience. Do you have any suggestions on applying calculating the euclidean distances for each blank pixel? I cannot figure out how to go about calling each pixel so that i can apply the equation to obtain the minimum distance from the blank point to three closest data pixels. Thanks any help is appreciated.
From: ImageAnalyst on 4 May 2010 08:41 I can't think of anything quick without putting a lot more work into it, which I can't afford to spend. But good luck with it.
From: Punkaj on 4 May 2010 14:17 ImageAnalyst <imageanalyst(a)mailinator.com> wrote in message <6c07c67d-9fc0-4116-8711-79a58953ce78(a)e1g2000yqe.googlegroups.com>... > I can't think of anything quick without putting a lot more work into > it, which I can't afford to spend. But good luck with it. Thanks...does anyone else have any suggestions regarding this..any basic help would be greatly appreciated? Finding the 3 minimum euclidean distances between a (blank) pixel and a specific set of data pixels.
From: Bruno Luong on 4 May 2010 15:05 > > Finding the 3 minimum euclidean distances between a (blank) pixel and a specific set of data pixels. What follows is not exactly the method you have requested, but have you tried to interpolate with GRIDDATA and LINEAR option (using also three data points)? This will fill the convexhull of all data. It will leave out the four small corners of the image unfilled. It you are happy with the interior we can discuss how to extend to the exterior. Bruno
First
|
Prev
|
Pages: 1 2 Prev: Plotting Functions - Logarithmic Decrement Next: Working with Handles |