在我的android应用中,我使用findNonZero()
在二进制图像中查找和访问白点。
我将图像(大小为595 * 800的binMat
)作为方法的输入,然后得到:
...
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
中的坐标? 最佳答案
我的问题是将输出矩阵初始化为图像的大小。我只需要创建一个空的Mat
并将其传递给函数:
...
Mat wLocMat = Mat.zeros();
Core.findNonZero(binMat, wLocMat);
然后,通过将
wLocMat
转换为MatOfPoint
,可以轻松访问坐标:MatOfPoint mop = new MatOfPoint(wLocMat);
关于android - OpenCV Java:如何访问findNonZero()返回的坐标?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18147611/