2012-12-12 3 views
1

Я использую камеру в последнем проекте Android OpenCV 2.4.3 и преобразую Mat в растровое изображение. Метод утилиты, который я использую (представленный в проекте OpenCV), требует растровой карты той же ширины и высоты, что и Mat для преобразования. Когда я получаю доступ к высоте мата, оно равно 0. Ширина 640 (как и ожидалось, я ожидал, что высота будет равна 480).OpenCV Android Continuous Mat ширина и высота

Матка непрерывна, и хотя я мог понять, что это влияет на mat.rows(), она не должна изменять высоту?

Для тех, кто просит код: если вы посмотрите на пример кода, активность камера имеет следующий метод:

public Mat onCameraFrame(Mat inputFrame) { 
    inputFrame.copyTo(mRgba); 
    DoSomething(mRgba.getNativeObjAddr()); 
    return mRgba; 
} 

Когда я использую следующие проверить размеры:

Log.d(TAG, "Width: " + mRgba.width() + ", Height:" + mRgba.height()); 

Я получаю:

Width: 640, Height:0 
+0

Вы должны размещать код –

+0

@AndreyKamaev Добавлен его :) – alistair

ответ

0

ответ заключается в том, когда я звоню:

 mOpenCvCameraView.disableView(); 

что косвенно называет это:

mRgba.release(); 

который предположительно изменяет высоту до 0.

Смежные вопросы