I understand that your goal is to detect quantum wire dots and isolate them from a noisy, binarized image background. To achieve this, I recommend leveraging the "imfindcircles" function from the Image Processing Toolbox. This function is highly effective for locating circular objects within an image by utilizing the circular Hough transform.
The "imfindcircles" function can be invoked using the following syntax:
centers = imfindcircles(A,radius)
[centers,radii] = imfindcircles(A,radiusRange)
Once you have the centers and the radius, you can use the function "viscircles" for drawing circle on the image.
viscircles(centers,radii)
Further, I have the following suggestions for enhancing image contrast and improving morphological operations:
- Adaptive Histogram Equalization: Use the "adapthisteq" function for adaptive histogram equalization. This technique can significantly enhance the contrast of grayscale images by adjusting the intensity distribution of the pixels, making features more distinguishable.
- Noise Reduction: Apply the "bwareaopen" function to remove small objects from binary images.
For detailed information on these functions, please refer to their respective documentation:
- imfindcircles - https://www.mathworks.com/help/images/ref/imfindcircles.html?s_tid=doc_ta
- viscircles - https://www.mathworks.com/help/images/ref/viscircles.html?s_tid=doc_ta
- bwareaopen - https://www.mathworks.com/help/images/ref/bwareaopen.html?s_tid=doc_ta
- adapthisteq - https://www.mathworks.com/help/images/ref/adapthisteq.html?s_tid=doc_ta
I hope this helps.