我想初始化一个 3 x 3 的十字形核矩阵,并用它在 OpenCV4Android 中放大图像。在 native 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 中找不到这个函数。
非常感谢。
最佳答案
我从来没有尝试过这个但是检查它是否有效,至少这是设置结构元素的 OpenCV4Android 方法:
Mat kernel = Imgproc.getStructuringElement(Imgproc.MORPH_CROSS, new Size(3, 3));
此外,查看 copyTo() 方法,它可以接收一个掩码:
src_mat.copyTo(dst_mat, mask);
关于android - OpenCV for Android - 初始化矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12335366/