How to fill a black area with circles?
1 次查看(过去 30 天)
显示 更早的评论
I'm using imfindcircles() of the Image Processing Toolbox to scan a simple rectangular image for black circles. When the dots are clumped, a region becomes black and imfindcircles() doesn't identify any circles. I've attached an example image and scan.
I'd like to flood/fill that region with circles anyway but am unsure how to proceed. The circles can overlap, or not, either is fine.
A script using the attached input file, resulting in the attached output file.
clc;
clear all;
close all;
dots_center(imread("10_2.png"),6,1)
function centers = dots_center(image,pixeldiameter,sensitivity)
[centers,radii] = imfindcircles(image,[pixeldiameter pixeldiameter],'ObjectPolarity','dark','Sensitivity',sensitivity)
hold on;
imshow(image);
h = viscircles(centers,radii);
end
2 个评论
Ralf U.
2020-3-11
It does not identify any circles because there are none. And there is no way to tell, where they were. So the only thing left for you is guessing.
You can randomly fill the black areas with circles, although you would generate data, that did not exist in the first place. Depending on what you want to do with the result, it might get corrupted.
回答(1 个)
Nikhil Sonavane
2020-3-13
The area which you are concerned about is just a accumulation of black pixels. From the image there is no way to find the exact circles by which the black area is created unless you find a method with which the original image is created. But given only the image you won't be able to get fill the black region with circles.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!