2013-08-09 3 views
0

내 안드로이드 앱에서 이진 이미지의 흰 점을 찾아 액세스하려면 findNonZero()을 사용하고 있습니다.OpenCV Java : 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에 저장된 좌표를 액세스 할 수 있습니까?!

답변

2

출력 크기를 이미지 크기로 초기화하는 중 문제가 발생했습니다. 난 그냥 빈 Mat를 생성하고 함수에 전달했다 : MatOfPointwLocMat 변환하여,

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

다음, 좌표는 쉽게 접근 할 수 :

MatOfPoint mop = new MatOfPoint(wLocMat); 
관련 문제