Shape recognition with added noise

8 views (last 30 days)
Kyle Jenko
Kyle Jenko on 19 Feb 2022
Answered: Image Analyst on 19 Feb 2022
I am trying to write a program that will recognize shapes. The program works for the png "Stickers" that has no noise but I am having trouble removing the added "noise" in the png "StickersWithNoise." I am having trouble knowing where to begin.
My Shape_recognition.m does the following (you can also see my comments in MATLAB)
  1. Reads picture
  2. Converts the white background to black
  3. Converts the picture from rgb to grayscale
  4. Converts picture from grayscale to binary
  5. Find connected components
  6. Use regionprops to find area and perimeter
  7. Calculate ratio of perimeter/sqrt(area) as suggested by the pdf "The Perimeter-Area Relation"
  8. Determine shape based upon these values

Answers (1)

Image Analyst
Image Analyst on 19 Feb 2022
Try getting rid of the purple and brown line like this
[labeledImage, numBlobs] = bwlabel(BW_pic);
% Get rid of the purple line
purpleLine = ismember(labeledImage, 1); % First find purple line. It will be blob #1.
BW_pic(purpleLine) = false; % Then erase it from the binary image.

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!