#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include <opencv2/highgui.hpp>
#include<iostream>
using namespace cv;
int main(/*int argc, char** argv*/)
{
Mat src, dst;
Point anchor;
double delta;
int ddepth;
int kernel_size = 5;
// 生成一个掩模核 大小为kernel_size*kernel_size,这里我们用归一化块滤波的卷积核做示例
Mat kernel = (Mat_<char>(3, 3) << 0, -1, 0,
-1, 5, -1,
0, -1, 0);
// 载入一张图片
src = imread("D:/cup.jpg");
if (!src.data)
return -1;
// 创建窗口
namedWindow("原图", WINDOW_NORMAL);
imshow("原图", src);
waitKey(500);
// 初始化滤波器参数
anchor = Point(-1, -1);
delta = 0;
ddepth = -1;
//将核设置好之后,使用函数 filter2D 就可以生成滤波器:
filter2D(src, dst, ddepth, kernel, anchor, delta, BORDER_DEFAULT);
namedWindow("自定义卷积", WINDOW_NORMAL);
imshow("自定义卷积", dst);
waitKey(0);
return 0;
}
自定义一个3×3卷积模板
最新推荐文章于 2024-04-18 01:52:59 发布