Quote:
i want to start recognizing a shape, like circles (i have an image of a bacteria culture).


For preparing the image, make it grayscale and try bit-extraction on the first two high-level bits. Then use a Sobel and/or Laplace filter to extract candidates for contours and use a 4-way or 8-way contour finding algorithm to skeletize the image.

Then, geometric shapes can be easily detected with the Hough-Transformation, that is faster than creating a filter kernel with a circle and convoluting the image. In the fourier domain, convolution is faster, but this is much more complicated.

I processed some images of cells and/or bacteria, a histogramm equalization is almost all the time very beneficial, because it brings some details, which are hidden in low-contrast areas, up front.