Печать содержимого матрицы opencv в Java

У меня есть матрица openCV в Java, и я хотел бы распечатать ее содержимое. Я попробовал функцию toString () следующим образом descriptor.toString (), чтобы я мог получить эту форму

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

где каждый массив является i-й строкой в ​​матрице, но я получил следующий результат. Я попытался удалить toString, но проблема не исчезла.

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

Где 3 - количество строк, а 4 - количество столбцов.

Любая помощь, как я могу получить содержимое матрицы?!


person omarsafwany    schedule 18.05.2013    source источник


Ответы (2)


Код:

    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());

Вывод:
Печать дампа матрицы
[1, 2, 3, 4;
4, 5, 6, 7;
7, 8, 9, 10]

person comrench    schedule 19.04.2015

Это не совсем так, как [[1,2,3,4],[4,5,6,7],[7,8,9,10]], но работает:

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

// do math...

String dump = freqs.dump();
Log.d(TAG, dump);
person auraham    schedule 30.07.2013
comment
Иногда dump () дает сбой при использовании с журналом. Любые идеи. - person Srinivasan N; 16.06.2015