2016-12-30 4 views
0

Я совершенно новый для OpenCV, я пытаюсь понять некоторые понятия в нем.Различные каналы в 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

Документы не помогают.

Ваши задания превращают mRgba и MRgb в точные копии inputFrame.rgba(), поэтому вы не получаете желаемых результатов.

Как вы сбрасываете альфа-канал, которого я не знаю, я бы просто написал цикл и делал его элемент за элементом. Крит mRgb с нулями затем назначается из mRgba.

Смежные вопросы