为了设计一个自定义的滤波器,我们定义了一个diyFilter2D()函数。
首先定义一个核函数(3*3的矩阵),然后调用cv::filter2D()函数即可!
API函数
//滤波器filter2D()
void filter2D(InputArray src,//输入图像
OutputArray dst, //输出图像
int ddepth,//图像深度
InputArray kernel,//输入的核函数
Point anchor = Point(-1, -1),//默认,表示锚点在核的中心
double delta = 0,//默认
int borderType = BORDER_DEFAULT);//默认,表示边界模式
一、c++示例代码
//包含头文件
#include <opencv2/opencv.hpp>
//命名空间
using namespace cv;
using namespace std;
//全局函数声明部分
void diyFilter2D(const Mat &src, Mat &dst);
//主函数
int main()
{
//【1】载入图像,灰度化
Mat image = imread("F:\\opencvtest\\testImage\\beauty.png", 0);
//【2】检查是否载入成功
if (image.empty(