Ask an expert. Trust the answer.

Your academic and career questions answered by verified experts

Detect a shape as a circle with Matlab

Date: 2023-01-11 15:24:46

I am writing a program in Matlab to detect a circle.

I've already managed to detect shapes such as the square, rectangle and the triangle, basically by searching for corners, and determining what shape it is based on the distance between them. The images are black and white, with black being the background and white the shape, so for me to find the corners I just have to search each pixel in the image until I find a white pixel.

However I just can't figure out how I can identify the circle.

Here it the an example of how a circle input would look lik

Answers:

It is difficult to say what the best method is without more information: for example, whether more than one circle may be present, whether it is always centred in the image, and how resilient the algorithm needs to be to distortions. Also whether you need to determine the location and dimensions of the shape or simply a 'yes'/'no' output.

However a really simple approach, assuming only one circle is present, is as follows:

  1. Scan the image from top to bottom until you find the first white pixel at (x1,y1)
  2. Scan the image from bottom to top until you find the last white pixel at (x2,y2)
  3. Derive the diameter of the suspected circle as y2 - y1
  4. Derive the centre of the suspected circle as ((x1+x2)/2, y1+(y2-y1)/2)
  5. Now you are able to score each pixel in the image as to whether it matches this hypothetical circle or not. For example, if a pixel is inside the suspected circle, score 0 if it is white and 1 if it black, and vice-versa if it is outside the suspected circle.
  6. Sum the pixel scores. If the result is zero then the image contains a perfect circle. A higher score indicates an increasing level of distortion.

Why Matlabhelpers ?

Our Matlab assignment helpers for online MATLAB assignment help service take utmost care of your assignments by keeping the codes simple yet of high-quality. We offer the most reliable MATLAB solutions to students pursuing their Computer Science course from the Monash University, the University of Sydney, the University of New South Wales, the University of Melbourne; to name a few. Approach us today for best Matlab solutions online!

whatsApp order on matlabhelpers.com

telegram order on matlabsolutions.com