// for sophon opencv, the memory is not continuous if the width of image is not 64 bytes aligned
uint8_t continous_data[cvmat.cols * cvmat.rows * cvmat.channels()];
if (!cvmat.isContinuous())
{
std::cout << "cvmat is not continuous" << std::endl;
for (int i = 0; i < cvmat.rows; i++)
{
std::memcpy(continous_data + i * cvmat.cols * cvmat.channels(), cvmat.ptr(i), cvmat.cols * cvmat.channels());
}
}
else
{
std::memcpy(continous_data, cvmat.data, cvmat.cols * cvmat.rows * cvmat.channels());
}