2

在我的 android 应用程序中,我findNonZero()用于查找和访问二进制图像中的白点。

我将图像(binMat大小:595*800)作为方法的输入,然后我有:

...
Mat wLocMat = Mat.zeros(binMat.size(), binMat.channels()); 
Core.findNonZero(binMat, wLocMat);

问题是:我不知道如何访问存储在wLocMat! 当我登录时wLocMat.toString(),我得到这个:

[ 476000*1*CV_32SC2, isCont=true, isSubmat=false, nativeObj=0x74abd920, dataAddr=0x75bac010 ]

那么,我究竟如何才能访问存储在 中的坐标wLocMat?!

4

1 回答 1

4

我的问题是将输出矩阵初始化为图像的大小。我只需要创建一个空Mat并将其传递给函数:

...
Mat wLocMat = Mat.zeros(); 
Core.findNonZero(binMat, wLocMat);

然后,通过转换wLocMatMatOfPoint,坐标很容易获得:

MatOfPoint mop = new MatOfPoint(wLocMat);
于 2013-08-21T19:33:18.410 回答