您好我需要將我的捕捉幀(Mat)轉換爲YCBCR並分離通道,我該怎麼辦?將bgr轉換爲ycbcr並在opencv中分開通道
我的代碼:
frame_capturado = cvQueryFrame(capture);
cvtColor(frame_capturado,frameycbcr,CV_BGR2YCrCb);
現在...?
在形而下我需要CR通道
您好我需要將我的捕捉幀(Mat)轉換爲YCBCR並分離通道,我該怎麼辦?將bgr轉換爲ycbcr並在opencv中分開通道
我的代碼:
frame_capturado = cvQueryFrame(capture);
cvtColor(frame_capturado,frameycbcr,CV_BGR2YCrCb);
現在...?
在形而下我需要CR通道
現在...
Mat ycrcb[3];
split(frameycbcr, ycrcb);
// do work
Mat ycrcb_merged;
merge(ycrcb,3, ycrcb_merged);
(和請使用VideoCapture代替CvCapture,不要將舊C-API和新的C++ API)。
謝謝,並且使用mixchannels函數有可能嗎?也許:int ch [] = {2,0}; cr.create(frameycbcr.size(),frameycbcr.depth()); mixChannels(&frameycbcr,1,&cr,1,ch,1); –
是的,mixchannels也可以。但請注意,第1個參數是一個通道數組,而不是frameycbcr圖像。 – berak
標題說將BGR轉換爲YCbCr,但提議的代碼轉換爲YCrCb ... –