概述
图像卷积的过程===>https://blog.csdn.net/qq_36503007/article/details/79875033
filter2D()函数
filter2D()是OpenCV中用于图像做卷积运算的函数
InputArray kernel, Point anchor = Point(-1,-1),
double delta = 0, int borderType = BORDER_DEFAULT );
①src和dst分别表示输入、输出图像。
②ddepth表示输出图像的深度,可以使用输入图像的深度即src.depth()。当ddepth输入值为-1时,也表示输出图像与输入图像深度保持一致。
③kernel表示卷积核。
④anchor表示内核的基准点,它有一个默认值为(-1,-1)即基准点是kernel的中心位置。基准点是卷积核中与进行处理的像素点重合的点。
⑤delta: 在储存输出图像前可选的添加到像素的值,默认值为0
⑥ borderType: 像素向外逼近的方法,默认值是BORDER_DEFAULT,即对全部边界进行计算。
【代码】
以卷积核为例,
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv)
{
Mat src = imread("D://2.jpg",0);
Mat dst;
float a[9] = { 0 ,-1 ,0 ,
-1 ,4 ,-1 ,
0 ,-1 ,0 };
Mat kern = Mat(3, 3, CV_32F, a);
filter2D(src, dst, src.depth(), kern);
imshow("src", src);
imshow("dst", dst);
waitKey(0);
return 0;
}
在代码中可以不使用filter2D()函数,而使用遍历像素点进行卷积运算的方法来加深对图像卷积过程的理解。
最后
以上就是眯眯眼微笑为你收集整理的图像卷积(OpenCV笔记)的全部内容,希望文章能够帮你解决图像卷积(OpenCV笔记)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复