我有一个来自colorblobdetection的代码片段,但我不知道CvType.CV_8UC4的目的是什么.这里的链接并没有真正解释它是如何工作的.
public void onCameraViewStarted(int width, int height) {
mRgba = new Mat(height, width, CvType.CV_8UC4);
mDetector = new ColorBlobDetector();
mSpectrum = new Mat();
mBlobColorRgba = new Scalar(255);
mBlobColorHsv = new Scalar(255);
SPECTRUM_SIZE = new Size(200, 64);
CONTOUR_COLOR = new Scalar(255,0,0,255);
}
Run Code Online (Sandbox Code Playgroud)
Una*_*dra 12
OpenCV类型可以读取如下:
CV_8U:无符号整数8位C4:四个频道.因此,mRgba = new Mat(height, width, CvType.CV_8UC4);创建一个具有四个颜色通道的矩阵,其值在0到255之间.
这是一种特定形式的Matrix.其中,8u每个元素将是无符号(仅正数)整数,8位.
有4个通道(如4个切片层叠在一起形成不同颜色的图像)的原因是构成图像.其中的前3个是R,G,B,最后一个是Alpha,它是0到1之间的值,表示透明度.当这些切片组合时,您将获得正确的颜色组合.