1

我需要在图像上应用这两个内核。

+1 0 0 0 0 0 0 0 -1

和 0 0 +1 0 0 0 -1 0 0

然后组合两个输出图像。但我不知道如何编写循环/将过滤器应用于一般图像。

4

1 回答 1

6

您可以使用名为filter2d的函数。它允许您将任意内核应用于图像,因此您不需要自己执行任何循环。只需将您提到的内核存储在 Mat 中,并将其作为 filter2d 的输入与您的图像一起提供。

使用示例:

float m[9] = {0,0,0,-1,0,1,0,0,0};
Mat kernel(Size(3,3), CV_32F, m);
filter2D(src, dst, -1, kernel);
于 2013-10-28T11:31:08.320 回答