opencv中的不同渠道

时间:2016-12-30 12:29:19

标签: opencv mat

我是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

1 个答案:

答案 0 :(得分:0)

文档没有帮助。

您的作业将mRgba和MRgb转换为inputFrame.rgba()的精确副本,这就是您无法获得所需结果的原因。

如何转储alpha通道我不知道,我只是编写一个循环并逐个元素地执行。带有零的克里特岛mRgb然后从mRgba分配。