Skip to content

Convert AHardwareBuffer into OpenCV #1

@JaouadROS

Description

@JaouadROS

Hello,
I want to convert AHardwareBuffer into OpenCV, have you tried this code? I want to do something similar but the mat I get is empty

//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;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions