【知识---OpenCV库中的图像边界处理的基本操作】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

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中的有关于图像边界处理的一些基本操作,如有不足之处,还请大家斧正!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值