OpenCV Filters - Blur

Blurs an image using the normalized box filter.

C++: void blur(InputArray src, OutputArray dst, Size ksize, Point anchor=Point(-1,-1), int borderType=BORDER_DEFAULT ) 
Python: cv2.blur(src, ksize[, dst[, anchor[, borderType]]]) → dst

  • src – input image; it can have any number of channels, which are processed independently, but the depth should be CV_8U, CV_16U, CV_16S, CV_32F or CV_64F.
  • dst – output image of the same size and type as src.
  • ksize – blurring kernel size.
  • anchor – anchor point; default value Point(-1,-1) means that the anchor is at the kernel center.
  • borderType – border mode used to extrapolate pixels outside of the image.
The function smoothes an image using the kernel:

The call blur(src, dst, ksize, anchor, borderType) is equivalent to boxFilter(src, dst, src.type(), anchor, true, borderType)

Reference: OpenCV Documentation - blur

This is a sample code (C++) with images for opencv blur filter.

 string imgFileName = "lena.jpg";

 cv::Mat src = cv::imread(imgFileName);
 if (!{
    cout << "Unable to open file" << endl;
    return 1;

 cv::Mat dst;
 cv::blur(src, dst, cv::Size(19, 19));


 cv::imshow("Source", src);
 cv::imshow("Filtered", dst);

 cv::imwrite("Blur.jpg", dst);

 return 0;

Filtered Image Source Image

Download complete Visual Studio project.

No comments:

Post a Comment