2016-12-30 40 views
0

我對OpenCV相當陌生,我試圖理解其中的一些概念。opencv中的不同頻道

我已經聲明瞭兩個Mat對象mRgbamRgb

mRgba = new Mat(height,width, CvType.CV_8UC4); 
mRbg = new Mat(height, width, CvType.CV_8UC3); 

@Override 
public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) { 
    mRgba = inputFrame.rgba(); 
    mRbg = inputFrame.rgba(); 

    Log.i(TAG, "mRgba.channels() : " + mRgba.channels()); 
    Log.i(TAG, "mRbg.channels() : " + mRbg.channels()); 
} 

我得到兩者的輸出中的四個聲道。如何獲得3頻道Mat

回答

0

該文檔沒有幫助。

您的任務將mRgba和MRgb轉換爲inputFrame.rgba()的完全副本,這就是爲什麼您沒有得到所需結果的原因。

你如何轉儲alpha通道我不知道,我只是寫一個循環,並按元素做元素。克里特mRgb與零,然後從mRgba分配。