4

我想初始化一个 3 x 3 的十字形内核矩阵,并用它来扩大 OpenCV4Android 中的图像。在本机 C++ OpenCV 中,您可以:

Mat kernel = (Mat_<int>(3,3) << 0,1,0,1,1,1,0,1,0);
dilate(image, image, kernel);

但是我怎样才能在Java中做相当于第一行的事情?不能将 Mat 视为数组,并且 Java 没有 << 运算符。似乎有一个名为 cvCreateStructuringElementEx 的 OpenCV 函数初始化 Mats 以用作内核,但我在 OpenCV4Android 中找不到这个函数。

非常感谢。

4

1 回答 1

3

我从未尝试过,但检查它是否有效,至少这是 OpenCV4Android 设置结构元素的方法:

Mat kernel = Imgproc.getStructuringElement(Imgproc.MORPH_CROSS, new Size(3, 3));

另外,查看 copyTo() 方法,它可以接收一个掩码:

src_mat.copyTo(dst_mat, mask);
于 2012-09-18T13:17:52.513 回答