This is an extension to another user’s question asking whether it is necessary to perform a Gaussian blur before using cv2.Canny(). I know from the documentation that cv2.HoughCircles() calls a Canny edge detector (presumably cv2.Canny()). Based on the user’s question, I need to use a Gaussian blur with the default Sobel kernel size. Does cv2.HoughCircles call cv2.Canny() with a default Sobel kernel size? If it does, does cv2.HoughCircles() method implicitly use a Gaussian blur already?
Thanks in advance!
It does not perform Gaussian Blur.
It is recommended to apply Gaussian Blur
before feeding your image to HoughCircles
.
It also helps to smooth image a bit unless it's already soft. For example, GaussianBlur() with 7x7 kernel and 1.5x1.5 sigma or similar blurring may help.
In the current implementation of OpenCV there's no Gaussian Blur call.