提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
OpenCV(Open Source Computer Vision Library)是一款开源的计算机视觉和机器学习软件库。它提供了一套全面的工具,用于图像和视频处理、计算机视觉以及机器学习。
在图像处理中,边界处理是指在处理图像边缘像素时采取的策略。
OpenCV 中的 cv::GaussianBlur 和其他一些图像处理函数提供了 borderType参数,用于指定在处理图像边缘时的边界处理方式。
以下是其中几种常用的边界处理方式:
1. cv::BORDER_CONSTANT:
在这种方式下,图像边缘被用一个常数值填充。
这个常数值通常由用户指定。例如,可以指定一个黑色的常数值填充边界
cv::GaussianBlur(src, dst, ksize, sigmaX, sigmaY, cv::BORDER_CONSTANT, cv::Scalar(0, 0, 0));
这里 cv::Scalar(0, 0, 0) 表示黑色。
2. cv::BORDER_REPLICATE:
在这种方式下,图像的边缘像素被复制。
这意味着在边缘外的像素值将一直复制到边缘上。
cv::GaussianBlur(src, dst, ksize, sigmaX, sigmaY, cv::BORDER_REPLICATE);
这里 cv::Scalar(0, 0, 0) 表示黑色。
3. cv::BORDER_DEFAULT:
这是 cv::GaussianBlur 和其他函数的默认边界处理方式。通常等同于 cv::BORDER_REFLECT_101。
4. cv::BORDER_REFLECT 和 cv::BORDER_REFLECT_101:
在这两种方式下,图像的边缘像素被镜像反射。
这意味着图像的边缘像素值会像镜子一样反射到图像的内部。
cv::GaussianBlur(src, dst, ksize, sigmaX, sigmaY, cv::BORDER_REFLECT);
// 或者
cv::GaussianBlur(src, dst, ksize, sigmaX, sigmaY, cv::BORDER_REFLECT_101);
这种方式可以减小图像处理过程中产生的伪影。
总结
以上就是OpenCV中的有关于图像边界处理的一些基本操作,如有不足之处,还请大家斧正!!!