本文重点介绍OpenCV获取到的帧图像处理,关于OpenCV中获取打开相机,及相机缓冲帧的方法请参考
首先我们需要从相机缓冲帧中获取到RGBA矩阵:
Mat rgba = inputFrame.rgba();处理像素的方法采用Filter接口的方式,Filter接口代码如下:
public interface Filter {接口中定义了apply方法,接收一个原始数据的Mat对象,和一个结果数据的Mat对象。紧接着,定义一个NoneFilter:
public abstract void apply(Mat src, Mat dst);
}
public class NoneFilter implements Filter {
@Override
public void apply(Mat src, Mat dst) {
// Do nothing.
}
}
NoneFilter类的apply()方法什么也没做,这个Filter的功能就是不对数据做任何处理。
接下来看我们具体的添加图像效果的Filter
1.混合颜色通道:
1.RecolorRCFilter:
public class RecolorRCFilter implements Filter {
private ArrayList<Mat> mChannels = new ArrayList<Mat>(4);
@Override
public void apply(Mat src