How to detect the 6 circles and the center points?
Show older comments
I = imread("myimage.jpg"); %original file
imshow(I)
imhist(I)
I = im2gray(I); %coverting to grayscale
Ia = imadjust(I); %histogram stretching
imshow(Ia)
imhist(Ia)
avg = fspecial("average",[50 50]) %average filtering
Iavg = imfilter(Ia,avg);
If = medfilt2(Iavg,[60 60]); %median filtering
imshow(If)
Ibw = imbinarize(If);
imshow(Ibw)
edges = edge(Ibw);
imshow(edges)
From the original image "myimage.jpg" I want to detect the 6 circles and the center point and center line for those cirlces. I tried basic averaging and median filters to make the image smooth and the curves smooth (images attached). After that I tried using hough transform to detect the circles but it did not give me the results.
Is there any function or method that could solve this issue.
2 Comments
Image Analyst
on 10 Nov 2022
I don't see 6 circles. I see a big fuzzy asterisk.
Can you annotate an image and show us exactly where the circles are?
Husain Signalwala
on 11 Nov 2022
Answers (1)
Image Analyst
on 11 Nov 2022
1 vote
Try using radon
However it's a judgment call as to how far out you want to go to define the boundary of the circle.
4 Comments
Husain Signalwala
on 11 Nov 2022
Edited: Husain Signalwala
on 11 Nov 2022
Image Analyst
on 11 Nov 2022
Perhaps this
kernel = ones(61)
img = imfilter(double(grayImage), kernel);
subplot(2, 2, 4);
imshow(img, []);
Husain Signalwala
on 11 Nov 2022
Husain Signalwala
on 14 Nov 2022
Categories
Find more on Video Formats and Interfaces 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!