我是OpenCV
的新手,我正在尝试理解其中的一些概念。
我已宣布两个Mat
个对象mRgba
和mRgb
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 :(得分:0)
文档没有帮助。
您的作业将mRgba和MRgb转换为inputFrame.rgba()的精确副本,这就是您无法获得所需结果的原因。
如何转储alpha通道我不知道,我只是编写一个循环并逐个元素地执行。带有零的克里特岛mRgb然后从mRgba分配。