铁道部网上订票网站素材,网站建设网络推广最低价格,做网站页面对PS切图,建公司网站哪家好操作系统#xff1a;ubuntu22.04 OpenCV版本#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言#xff1a;C11
算法描述
在OpenCV中#xff0c;blur()函数用于对图像应用简单的均值模糊#xff08;mean blur#xff09;。这种模糊效果可以通过将图像中的每个像素替… 操作系统ubuntu22.04 OpenCV版本OpenCV4.9 IDE:Visual Studio Code 编程语言C11
算法描述
在OpenCV中blur()函数用于对图像应用简单的均值模糊mean blur。这种模糊效果可以通过将图像中的每个像素替换为其邻域内所有像素的平均值来实现从而达到平滑图像的目的。这对于去除图像中的噪声非常有用。
blur()函数使用归一化的盒形滤波器normalized box filter来平滑图像。这种滤波器对图像中的每个像素应用一个矩形核大小为 blur()函数的行为等同于调用boxFilter()函数.
函数原型 void cv::blur
( InputArray src,OutputArray dst,Size ksize,Point anchor Point(-1,-1),int borderType BORDER_DEFAULT
)
参数
参数 src:输入图像它可以有任意数量的通道这些通道会被独立处理但是图像的深度应该为CV_8U、CV_16U、CV_16S、CV_32F或CV_64F.参数 dst 输出图像其大小和类型与src相同。参数 ksize模糊核的大小.参数 anchor锚点位置默认值Point(-1,-1)表示锚点位于核的中心。参数 borderType: 用于推算图像外部像素的边界模式详情请参阅BorderTypes。BORDER_WRAP模式不支持。
代码示例 #include opencv2/opencv.hpp
#include iostreamint main()
{// 读取图像cv::Mat src cv::imread(/media/dingxin/data/study/OpenCV/sources/images/fruit_small.jpg);if (!src.data){std::cerr Error: Image cannot be loaded.\n;return -1;}// 设置模糊参数cv::Size ksize(15, 15); // 15x15的内核大小cv::Mat dst;// 应用均值模糊cv::blur(src, dst, ksize);// 显示原图和处理后的图像cv::namedWindow(Original Image, cv::WINDOW_NORMAL);cv::imshow(Original Image, src);cv::namedWindow(Blurred Image, cv::WINDOW_NORMAL);cv::imshow(Blurred Image, dst);// 等待用户按键退出cv::waitKey(0);return 0;
}运行结果 你可以修改代码中cv::Size ksize(15, 15); 中的内核大小看看模糊的效果有什么差异比如改成cv::Size ksize(5, 5);试试看。