2016-12-30 5 views
0

私はかなり新しいOpenCVです。私はそれにいくつかの概念を理解しようとしています。opencvの異なるチャネル

私は2つの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()); 
} 

私は4つのチャンネルの両方の出力に含まを取得を宣言しています。 3チャンネルを取得するにはMat

答えて

0

ドキュメントは役に立ちません。

あなたの割り当ては、mRgbaとMRgbをinputFrame.rgba()の正確なコピーに変換します。なぜなら、あなたが望む結果を得られないからです。

アルファチャンネルをダンプする方法はわかりません。ループを作成し、要素ごとに行うだけです。 crete mRgbをゼロで置き換え、mRgbaから割り当てます。

関連する問題