2013-05-18 40 views
7

Tôi có ma trận OpenCV trong Java và tôi muốn in ra nội dung của nó.Tôi đã cố gắng toString() chức năng như sau descriptor.toString() vì vậy tôi có thể đạt được hình thức nàyIn nội dung ma trận opencv trong Java

"[[1,2,3,4],[4,5,6,7],[7,8,9,10]]" 

trong đó mỗi mảng là hàng thứ i trong ma trận nhưng tôi nhận được kết quả sau. Tôi đã cố gắng để loại bỏ các toString nhưng vẫn còn cùng một vấn đề.

Mat [ 3*4*CV_8UC1, isCont=true, isSubmat=false, nativeObj=0x5dc93a48, dataAddr=0x5d5d35f0] 

Trong đó 3 là số hàng và 4 là số cột.

Bất kỳ trợ giúp nào về cách tôi có thể lấy nội dung ma trận ?!

Trả lời

3

Nó không phải chính xác như [[1,2,3,4],[4,5,6,7],[7,8,9,10]] nhưng nó hoạt động:

Mat freqs = Mat.zeros(10, 10, CvType.CV_32F); 

// do math... 

String dump = freqs.dump(); 
Log.d(TAG, dump); 
+1

Đôi khi đổ() bị lỗi khi được sử dụng với Nhật ký. Bất kỳ ý tưởng nào. –

7

Code:

int[][] testArray = new int[][]{{1,2,3,4},{4,5,6,7},{7,8,9,10}}; 
    Mat matArray = new Mat(3,4,CvType.CV_8UC1); 
    for(int row=0;row<3;row++){ 
     for(int col=0;col<4;col++) 
      matArray.put(row, col, testArray[row][col]); 
    } 
    System.out.println("Printing the matrix dump"); 
    System.out.println(matArray.dump()); 

Output:
In ma trận đổ
[1, 2, 3, 4;
4, 5, 6, 7; 7, 8, 9, 10]

Các vấn đề liên quan