//Convert Android HardwareBuffer to OpenCV Mat
jlong hardwareBufferToMat(AHardwareBuffer* hardwareBuffer) {
AHardwareBuffer_Desc bufferDesc;
AHardwareBuffer_describe(hardwareBuffer, &bufferDesc);
//Get all pixels data
void* buffer;
AHardwareBuffer_lock(hardwareBuffer, AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN, -1, nullptr, &buffer);
//Create OpenCV Mat
auto *mat = new cv::Mat(bufferDesc.height, bufferDesc.width, CV_8UC4, buffer);
AHardwareBuffer_unlock(hardwareBuffer, nullptr);
return (jlong) mat;
}
Hello,
I want to convert
AHardwareBufferintoOpenCV, have you tried this code? I want to do something similar but thematI get is empty