OpenCV(二十四):可分离滤波

这篇具有很好参考价值的文章主要介绍了OpenCV(二十四):可分离滤波。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.可分离滤波的原理

2.可分离滤波函数sepFilter2D()

3.示例代码


1.可分离滤波的原理

       可分离滤波的原理基于滤波器的可分离性。对于一个二维滤波器,如果它可以表示为水平方向和垂直方向两个一维滤波器的卷积,那么它就是可分离的。也就是说,一个二维滤波器可以通过两次一维卷积来实现,分别在水平和垂直方向进行滤波。

OpenCV(二十四):可分离滤波,Android之OpenCV,计算机视觉,人工智能,算法,opencv,C++

2.可分离滤波函数sepFilter2D()

void cv::sepFilter2D ( InputArray  src,

OutputArray dst,

int   ddepth,

InputArray   kernelX,

InputArray    kernelY,

Point       anchor = point(-1,-1),

double        delta =0 ,

int     borderType = BORDER_DEFAULT

)

  • src:待滤波图像
  • dst:输出图像,与输入图像src具有相同的尺寸、通道数和数据类型
  • ddepth: 输出图像的数据类型(深度)。
  • kernelX:X方向的滤波器
  • kernelY:Y方向的滤波器
  • anchor:内核的基准点(锚点),其默认值为(-1,-1)代表内核基准点位于kernel的中心位置delta: 偏值,在计算结果中加上偏值。
  • borderType:像素外推法选择标志。

3.示例代码

 展示如何使用可分离滤波在图像上应用高斯滤波:

//可分离滤波
void  Separable_filtering(Mat image){
    // 定义滤波器大小和标准差
    int ksize = 3;
    double sigma = 1.0;

    // 获取水平方向和垂直方向的高斯滤波器
    cv::Mat kernelX = cv::getGaussianKernel(ksize, sigma);
    cv::Mat kernelY = cv::getGaussianKernel(ksize, sigma);

    // 计算水平方向和垂直方向上的一维滤波器
    cv::Mat kernelXY = kernelX * kernelY.t();

    // 执行可分离滤波
    cv::Mat result;
    cv::sepFilter2D(image, result, -1, kernelX, kernelY);
 
}

在上述示例中,cv::getGaussianKernel()函数用于获取高斯滤波器。ksize参数表示滤波器的大小,sigmaXsigmaY参数表示X和Y方向上的标准差。

通过将一维滤波器应用于图像的两个方向,并使用cv::sepFilter2D()函数将它们结合起来,我们可以实现高效的可分离滤波操作。文章来源地址https://www.toymoban.com/news/detail-704565.html

到了这里,关于OpenCV(二十四):可分离滤波的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第十四次CCF计算机软件能力认证

    第一题:买菜 在一条街上有 n 个卖菜的商店,按 1 至 n 的顺序排成一排,这些商店都卖一种蔬菜。 第一天,每个商店都自己定了一个价格。 店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商店的价格调整自己的价格。 具体的,每家

    2024年02月13日
    浏览(39)
  • 计算机视觉基础(3)——图像滤波与边缘检测

    本文主要聚焦于 图像滤波与边缘检测 两部分。图像滤波部分分析的是 线性移不变系统,将介绍两类滤波器,平滑滤波器和梯度滤波器 。边缘检测部分将介绍 高斯导数滤波器和Canny边缘检测器 。为了更好的阅读体验,读者需要提前了解或掌握卷积、线性移不变系统、梯度、

    2024年02月02日
    浏览(60)
  • 【计算机视觉】图像处理算法(形态学滤波篇)

    来源:《OpenCV3编程入门》,怀念毛星云大佬🕯️ 说明: 本系列重点关注各种图像处理算法的原理、作用和对比 数学形态学的概念: 数学形态学(Mathematical morphology)是立在格论和拓扑学基础之上的图像分析学科,足数学形态学阁像处现的基本理论。其基本的运算包括:二值腐

    2024年03月10日
    浏览(51)
  • Android OpenCV(七十四): Android OpenCV SDK 升级至 4.8.0

    如昨日文章所述,OpenCV 4.8.0 已经发布,虽然系列文章已经停更很久,但是版本升级工作笔者是很乐意快速完成的。 OpenCV 4.8.0 Android SDK:https://github.com/opencv/opencv/releases/download/4.8.0/opencv-4.8.0-android-sdk.zip 更新日志:https://github.com/opencv/opencv/wiki/ChangeLog#version480 下载 OpenCV 4.8.0 A

    2024年02月11日
    浏览(33)
  • 计算机视觉教程2-2:详解图像滤波算法(附Python实战)

    图像滤波按图像域可分为两种类型: 邻域滤波(Spatial Domain Filter) ,其本质是数字窗口上的数学运算。一般用于图像平滑、图像锐化、特征提取(如纹理测量、边缘检测)等,邻域滤波使用邻域算子—— 利用给定像素周围像素值以决定此像素最终输出的一种算子 频域滤波(Freque

    2024年02月06日
    浏览(60)
  • 【计算机视觉:算法和应用】第三章:图像处理——3.2线性滤波

    【计算机视觉:算法和应用】第二章:图像形成——2.1 几何图元与变换_Lu.马夋的博客-CSDN博客 【计算机视觉:算法和应用】第二章:图像形成——2.2相机辐射成像-CSDN博客 【计算机视觉:算法和应用】第二章:图像形成——2.3数码相机-CSDN博客 【计算机视觉:算法和应用】

    2024年02月03日
    浏览(48)
  • 图像处理与计算机视觉--第四章-图像滤波与增强-第二部分

    目录 1.图像噪声化处理与卷积平滑 2.图像傅里叶快速变换处理 3.图像腐蚀和膨胀处理 4 图像灰度调整处理 5.图像抖动处理算法    

    2024年02月07日
    浏览(40)
  • 图像处理与计算机视觉--第四章-图像滤波与增强-第一部分

    目录 1.灰度图亮度调整 2.图像模板匹配 3.图像裁剪处理 4.图像旋转处理 5.图像邻域与数据块处理

    2024年02月07日
    浏览(61)
  • 【计算机视觉|语音分离】期望在嘈杂环境中聆听:一个用于语音分离的不依赖于讲话者的“音频-视觉模型”

    本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题: Looking to Listen at the Cocktail Party: A Speaker-Independent Audio-Visual Model for Speech Separation 链接:Looking to listen at the cocktail party: a speaker-independent audio-visual model for speech separation: ACM Transactions on Graphics: Vol 37, No 4 译者注

    2024年02月14日
    浏览(45)
  • 【计算机毕业设计选题】20套精品毕设项目分享(源码+论文)Java 前后端分离

     全新毕业设计项目 Hi 大家好,马上毕业季又要开始了,陆陆续续又要准备毕业设计了,有些学生轻而易举就搞定了,有些学生压根没有思路怎么做,可能是因为技术问题,也可能是因为经验问题。 下边这些毕业设计项目中,大部分都是适用于有一定基础的同学哦,希望每个

    2024年01月25日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包