2010-11-19 1 views
0

Так что у меня такой код:Как присоединиться к 3 открытым cv IplImages в один?

IplImage* redchannel = cvCreateImage(cvGetSize(destination), 8, 1); 
        IplImage* greenchannel = cvCreateImage(cvGetSize(destination), 8, 1); 
        IplImage* bluechannel = cvCreateImage(cvGetSize(destination), 8, 1); 
cvSplit(source, bluechannel, greenchannel, redchannel, NULL); 
// code... 
//now I need to join them back 

Как присоединиться bluechannel, greenchannel и redchannel назад в какой-то IplImage * назначения?

ответ

2

void cvMerge (const CvArr * src0, const CvArr * src1, const CvArr * src2, const CvArr * src3, CvArr * dst);

Here is the documentation.

Edit:

Из документации: Вы должны будете звонить:

cvMerge(bluechannel, greenchannel, redchannel, NULL, target); 

Предполагая, что ваш целевой образ также имеет только 3 канала.

+0

hm .. как получить 4 изображения, если у меня есть 3? – Rella

+0

как создать такую ​​цель? почему IplImage * destination = cvCreateImage (cvSize (w, h), IPL_DEPTH_8U, 3); работает неправильно? – Rella

+0

«работает неправильно» очень неспецифичен, что вы подразумеваете под этим? – bjoernz

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