2013-05-03 10 views
0

Согласно ссылке Operations of Arrays of OCV, я не нашел способ иметь два разных Mat и помещать их в единственное окно, которое отображает оба изображения.Добавление двух мат в окно в OpenCV

PS: Дело не в слиянии изображений с одним.

Любые идеи?

+0

Первая идея: если у вас есть тег C++, вы не должны иметь IplImages, но cv :: Mat. – ypnos

+0

Я имел в виду Матем. Я использую кстати cv :: Mat :) – user2331770

ответ

0

Я не думаю, что это возможно сделать в чистом opencv, поскольку opencv - это библиотека обработки изображений и поддерживает минимальный пользователь interface, с несколькими функциональными возможностями.

Вы можете создать большую Мату, которая содержит ваши оригинальные два изображения. Для того, чтобы иметь возможность различать изображения друг от друга вы можете создать черную линию boundry, например:

// the 20 there is an example for border between images 
Mat display = Mat::zeros (MAX (image1.rows, image2.rows), image1.cols + 20 + image2.cols, image1.type()); 

image1.copyTo (Mat (display, Rect (0, 0, image1.cols, image1.rows))); 
image2.copyTo (Mat (display, Rect (image1.cols + 20, 0, image2.cols, image2.rows))); 
+0

Это первый шаг. Теперь ему просто нужно объединить два изображения, было бы неплохо опубликовать его. :) –

+0

Если вы используете roi, нет необходимости копировать какие-либо данные - все это происходит волшебным образом через заголовок изображения. См. Http://stackoverflow.com/questions/6378543/is-picture-in-picture-possible-using-opencv/11292792#11292792 –

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