2015-06-25 2 views
1

Я новичок в программировании на C++ и OpenCV. Я прошел this учебник по классу Mat в OpenCV. В нем говорится, что «каждый объект Mat имеет свой собственный заголовок» и многократно использует заголовок. Я не был уверен, что означает заголовок в этом контексте?Что подразумевается под заголовком объекта Mat в OpenCV?

Я попытался прибегая к помощи и нашел this страницу, которая говорит: «Мат в основном класс с двумя частями данных: матрица заголовок (содержит такую ​​информацию, как размера матрицы, метод , используемого для хранения, в , адрес которого является матрица хранится, и так далее) ..........»

Теперь я понимаю, что это значит, но размер у меня есть два вопроса, чтобы уточнить:

  1. Что делает "метод, используемый для s toring "см.? Какой член в классе Mat означает это?
  2. Что касается адреса, соответствует ли он члену «datastart» в классе Mat?

Спасибо!

+0

может быть, вы можете думать об этом как «пакете», с небольшим описательным разделом в передней части (ширина, высота, типом и т.д.), а затем фактические содержимое/данных/пикселями – berak

+0

Благодаря @berak для ответ. Я только что редактировал мой вопрос, который требует более подробного разъяснения. Пожалуйста, подумайте над ответом. – Ruchir

+1

для больших элементов данных, таких как изображения, пользователь не хочет копировать все данные все время (например, в каждом вызове функции), но с помощью указателей часто не является безопасным. Поэтому opencv использует те заголовки матриц (cv :: Mat obhect) как объекты, которые arent дорого копировать. большой объем данных вместо этого указывается указателем внутри этого заголовка. Поэтому всякий раз, когда вы копируете объект cv :: Mat (например, с помощью copy-constructor), вы не копируете все данные изображения/пикселя, а только заголовок. – Micka

ответ

1

В соответствии с OpenCV documentation:

Мат является в основном класс с двумя частями данных: заголовок матрицы (содержащий информацию, такую ​​как размер матрицы, метод, используемый для хранения, при котором адрес является сохраненная матрица и т. д.) и указатель на матрицу, содержащую значения пикселей (принимая любую размерность в зависимости от метода, выбранного для хранения). Размер заголовка матрицы является постоянным, однако размер самой матрицы может варьироваться от изображения к изображению и обычно больше на порядки.

+0

Спасибо @mystic_coder за ответ. Я только что редактировал свой вопрос, который ищет более подробное разъяснение того, что вы написали. Просьба уточнить. – Ruchir

+0

@mystic_coder, пожалуйста, начните правильно форматировать свои ответы, чтобы они были читабельными. – sehe

Смежные вопросы