how to select certain shape from different images?

4 views (last 30 days)
i have an image of star
and
I want to select a this shape from other different images that content star and other shapes
how to do that
  7 Comments
Walter Roberson
Walter Roberson on 29 May 2012
Your sample image is filled. Should only the (small) filled stars be selected, or should the large non-filled stars also be selected?
Some of the hollow stars are different aspect ratios (stretched more vertically); should those be found or only the ones with the same aspect ratio?
Is the task to be able to find portions of the image that match the given input image, or is the task to be able to match stars specifically?
Isee You
Isee You on 29 May 2012
i want to select the edges of the stars even star is small or large filled or non filled
only the out line of stars

Sign in to comment.

Answers (3)

Stephen
Stephen on 29 May 2012
haha, Walter :)
You can use the rucklidge algorithm. It relies on the haussdorf distance of a set of points, say the 10 points of your pentagram, and looks for a similar set of distances in all points of the target image. It takes a while sometimes, but it's pretty good.
You can also decompose the image with wavelets and look for similar signatures that way I've heard, but I can't help you build something like that. There may be something in the file exchange, like train a face recognizer to look for pentagrams or satanic faces.
  1 Comment
Isee You
Isee You on 29 May 2012
my star image is like this
http://www.surfling.org/darkstar/images/star.gif
and other image content small and large star image and other shape
http://www.mediafire.com/i/?c67bq9ox0n5kapv
and so other image
what i want is i want to select the all stars in this images

Sign in to comment.


Image Analyst
Image Analyst on 29 May 2012
I agree that it is a poorly phrased question that is so ambigous and open-ended as to make answering it have a high likelihood of wasting time. About all I can say, unless the poster posts an image or gives other additional information, is that this is a case of pattern recognition and there are thousands of ways to do that. You can go here http://iris.usc.edu/Vision-Notes/bibliography/contentspattern.html#Pattern%20Recognition,%20Clustering,%20Statistics,%20Grammars,%20Learning,%20Neural%20Nets,%20Genetic%20Algorithms for a list of them. The CBIR (content based image retrieval) community is involved heavily in this research right now, so you might look up CBIR methods. You might get your star by using nromxcorr2(), SURF, MSER, looking at the perimeter square to area ratio, or dozens of other ways depending on what your images look like. Sorry I can't explain all or any of them here - it would waste my time unless I know what kind of images you're dealing with.

Image Analyst
Image Analyst on 29 May 2012
For the images you have now provided, I'd recommend that you look at my image segmentation demo. http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862 Modify it to take the "solidity" - I think that will be enough to pick out just the stars. Basically it comes down to this process:
  1. extract the red channel: redChannel = rgbImage(:,:,1)
  2. threshold: binaryImage = redChannel > 128;
  3. call imfill: binaryImage = imfill(binaryImage , 'holes');
  4. call bwlabel and regionprops asking for solidity: regionprops(binaryImage, 'Solidity')
  5. filter out, using ismember, those blobs not having the require solidity values. See my demo.
My demo has everything you need. Give that a shot and let me know if you can't figure it out.
  5 Comments
Walter Roberson
Walter Roberson on 30 May 2012
http://www.mathworks.com/matlabcentral/answers/7924-where-can-i-upload-images-and-files-for-use-on-matlab-answers
Isee You
Isee You on 30 May 2012
http://imageshack.us/g/85/14340572.jpg/

Sign in to comment.

Categories

Find more on Image Processing and Computer Vision in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!