How to return an array for OPenCV OutputArray in stead of a one dimensional matrix

524 Views Asked by At

I am making a change to my OpenCV-python project and I have a function that outputs some data using a CV::OutputArray as follows:

bool myFunction(cv::OutputArray myOutputArray)
{
    //get some data for output..blah blah

    cv::Mat(1, dataLength, CV_MAKETYPE(CV_8U, 1), data).copyTo(myOutputArray);
}

When I view the contents of myOutputArray in my debugger I see that its a one dimensional ndarray as follows: enter image description here

So for me to access each element I need to do e.g:

    first_number = my_data[0][0]
    second_number = my_data[0][1]
    third_number = my_data[0][2]
    and so on and so on

How can I mofidy my code so that its just a plain array thats returned? So I can access the data simply as follows:

    first_number = my_data[0]
    second_number = my_data[1]
    third_number = my_data[3]
0

There are 0 best solutions below