Then I would not use imfindcircles. Just threshold and find the blobs. Then ask regionprops to give you the area and perimeter. Then calculate the circularities and keep the ones that you think are round enough. Here's some untested code just off the top of my head.
binaryImage = grayImage > 128;
labeledImage = bwlabel(binaryImage);
measurements = regionprops(labeledImage, 'Area', 'Perimeter');
allAreas = [measurements.Area];
allPerimeters = [measurements.Perimeter];
circularities = (allPerimeters .^ 2) ./ (4 * pi * allAreas);
isRoundEnough = circularities < 4;
keeperLabels = find(isRoundEnough);
labeledImage = ismember(labeledImage, keeperLabels);
measurements = regionprops(labeledImage, 'Area', 'Perimeter');
Best Answer