opencv中的不同通道

Different channels in 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

文档没有帮助。

您的作业将 mRgba 和 MRgb 变成了 inputFrame.rgba() 的精确副本,这就是您没有得到想要的结果的原因。

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