thresholding to distinguish small features in noisy data
I'm wondering what type of threshold would work well for distinguishing features that are very small (small in the xy sense) in comparison with the full spread, if that makes sense. The graythresh()
function in Matlab that uses the Otsu method doesn't work too well for my data. Otsu is a clustering method where I think the # of pixels should be similar in each 开发者_JAVA技巧class, which is not the case for me so when I employ it I get a threshold that is way too small and falls well within a lot of the background noise that remains even after filtering.
We really need more information to be really helpful. What kind of features are you trying to extract? What, exactly, are you trying to do?
I wouldn't really consider Otsu's method to be feature extraction, it just tries to seperate an image into foreground and background by pushing a grayscale image to a binary (only black & white image).
For finding actual "features" in computer vision you'd be better served by something like Harris Interest Points - but this is a guess since I'm not sure what your final goal is.
You might want to have a look at methods for unimodal thresholding (see this paper by Rosin for a method that works ok-ish).
However, straight thresholding of noisy images may not be the best approach. There are a number of better methods that have been developed for finding small features in very noisy images. Here's a link to a paper that discusses a variety of methods.
精彩评论