2010-11-19 50 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.

編輯:

從文檔: 你將不得不撥打:

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

假設你的目標圖像也只有3個頻道。

+0

hm ..如果我有3張圖片,如何獲得4張圖片? – Rella 2010-11-19 18:49:08

+0

如何創建這樣的目標?爲什麼IplImage * destination = cvCreateImage(cvSize(w,h),IPL_DEPTH_8U,3);工作不正確? – Rella 2010-11-19 20:08:48

+0

「工作不正常」非常不明確,您是什麼意思? – bjoernz 2010-11-19 20:21:30