我想要做的就是在opencv中将自定义卷积矩阵(内核)应用于图像(mat或任何其他格式都可以)。
我认为有一些内置函数可以实现它,但我从我看过它的地方并不是真的理解它,似乎有多种可能的方法可以在opencv中完成它。
有没有人知道解决这个问题的好/快/有效方法?
答案 0 :(得分:2)
如果你有一个5x5内核:
Mat kern = (Mat_<char>(5, 5) << -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1,
-1, -1, 24, -1, -1,
-1, -1, -1, -1, -1,
-1, -1, -1, -1, -1);
然后您可以使用de filter2D
函数:http://docs.opencv.org/2.4/modules/imgproc/doc/filtering.html#filter2d
应用自定义内核的示例:
filter2D(src_image, dst_image, src_image.depth(), kern);
希望它有所帮助。 :)