在我的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
中存储的坐标?!
答案 0 :(得分:3)
我的问题是将输出矩阵初始化为图像的大小。我只需创建一个空的Mat
并将其传递给函数:
...
Mat wLocMat = Mat.zeros();
Core.findNonZero(binMat, wLocMat);
然后,通过将wLocMat
转换为MatOfPoint
,可以轻松访问坐标:
MatOfPoint mop = new MatOfPoint(wLocMat);