Pea*_*Gen 4 c++ opencv image image-processing
我的书中谈到了OpenCV中的Image Kernel概念
当在像素邻域上进行计算时,通常用核矩阵表示它.该内核描述了如何组合计算中涉及的像素以获得期望的结果.
在图像模糊技术中,我们使用内核大小.
cv::GaussianBlur(inputImage,outputImage,Size(1,1),0,0)
Run Code Online (Sandbox Code Playgroud)
那么,如果我说内核大小Size(1,1)确实意味着内核只有1个像素?
请看下面的图片

在这里,内核大小是多少?Size(3,3)?如果我说Size(1,1)这个图像的大小,这是否意味着内核只有1个像素,像素值是0(图像中的第一个值)?
您给出的示例图像中的内核大小是3乘3(Size(3,3)),是的.内核大小为1比1 是有效的,尽管它不是很有趣.
正在执行的操作的通用名称GaussianBlur是卷积.
该GaussianBlur函数创建了一个高斯内核,它基本上是一个矩阵,表示如何组合一个n×n像素的窗口来获得单个像素值(在这种情况下使用高斯形模糊模式).
除了图像的标量乘法之外,大小为1乘1的内核不能做任何事情; 也就是说,1乘1矩阵的卷积[c]就是这样c * inputImage.
通常,您需要选择满足以下条件的n乘n高斯内核:
链接:
您发布的图像是一个 3x3 内核,由cv::Size(3,3). 您说cv::Size(1,1)对应于单个像素是正确的,但是cv::Size(1,1)在参考图像时说“ ”没有意义。1x1 内核将仅具有值[1]。