OpenCV в представлении мата за памятьC++

Программы на C++. Форум разработчиков
Anonymous
OpenCV в представлении мата за память

Сообщение Anonymous »

Я знаю, что в памяти OpenCV представляет объекты MAT как один большой массив. Так что, если у меня есть 3 канала Mat of Dimension 200x200, то в памяти он будет хранить этот коврик в массиве размера 3x200x200. Или, в целом, любой коврик в памяти будет храниться в виде каналов*строк*Cols . Мы можем получить такой массив, как < /p>

double *array = (double)mat.data;
< /code>

Предполагая, что матрица имеет тип двойного < /p>

Теперь мой вопрос заключается в том, что является способом индексации этого массива, если я хочу получить доступ к элементу на канале CH, строка R и Col C, следуют за действительным указанием < /p>

array[ch*rows*cols + c * rows + r]
< /code>

или < /p>

array[ch*rows*cols + r * cols + c]
< /code>

С уважением
ahsan < /p>

Подробнее здесь: https://stackoverflow.com/questions/370 ... esentation

Вернуться в «C++»