OpenCV:了解内核

2023-11-27

我的书谈到了 OpenCV 中的图像内核概念

当计算在像素邻域上完成时,通常 用核矩阵表示它。该内核描述了如何 将参与计算的像素组合起来以获得 期望的结果。

在图像模糊技术中,我们使用内核大小。

cv::GaussianBlur(inputImage,outputImage,Size(1,1),0,0)

所以,如果我说内核大小是Size(1,1)这是否意味着内核只有 1 个像素?

请看下面的图片

enter image description here

这里,内核大小是多少?Size(3,3)?如果我说尺寸Size(1,1)在此图像中,这是否意味着内核只有 1 个像素且像素值为 0(图像中的第一个值)?


您给出的示例图像中的内核大小是 3×3 (Size(3,3)), 是的。内核大小为 1×1is有效,尽管它不会很有趣。

正在执行的操作的通用名称GaussianBlur is a 卷积.

The GaussianBlur函数正在创建一个高斯核,它基本上是一个矩阵,表示如何组合 n×n 像素的窗口以获得单个像素值(在本例中使用高斯形状的模糊模式)。

大小为 1×1 的内核除了图像的标量乘法之外不能执行任何操作;即通过 1×1 矩阵进行卷积[c]只是c * inputImage.

通常,您需要选择满足以下条件的 n×n 高斯核:

  • spread of Gaussian (i.e. standard deviation or variance) such that it blurs the amount you want
    • 数字越大意味着越模糊;数字越小意味着模糊越少
  • 选择足够大的 n 以免将高斯截断得太接近模式

Links:

  • 卷积(维基百科)
  • Gaussian blur (Wikipedia)
    • 本节尤其
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenCV:了解内核 的相关文章

随机推荐