Android JavaCV将整型数组转换为灰色矩阵
我正在尝试在Android上使用JavaCV做最基本的事情,但仍然失败 我想将从Camera.PreviewCallback OnPreview接收的yuv字节[]数组转换为灰度矩阵,以便进一步处理Android JavaCV将整型数组转换为灰色矩阵,android,opencv,javacv,yuv,Android,Opencv,Javacv,Yuv,我正在尝试在Android上使用JavaCV做最基本的事情,但仍然失败 我想将从Camera.PreviewCallback OnPreview接收的yuv字节[]数组转换为灰度矩阵,以便进一步处理 public void onPreviewFrame(byte[] data, Camera camera) { /* Extract grayscale from yuv */ ByteBuffer gray = ByteBuffer.allocate(data.length * 4);
public void onPreviewFrame(byte[] data, Camera camera) {
/* Extract grayscale from yuv */
ByteBuffer gray = ByteBuffer.allocate(data.length * 4);
IntBuffer intBuffer = gray.asIntBuffer();
int p;
int size = width*height;
for(int i = 0; i < size; i++) {
p = data[i] & 0xFF;
intBuffer.put(0xff000000 | p<<16 | p<<8 | p);
}
Mat g = new Mat(height,width,CV_8UC3);
byte test[] = gray.array();
g.data().put(test); /* crashes here */
public void onPreviewFrame(字节[]数据,摄像头){
/*从yuv中提取灰度*/
ByteBuffer gray=ByteBuffer.allocate(data.length*4);
IntBuffer IntBuffer=gray.asIntBuffer();
INTP;
整数大小=宽度*高度;
对于(int i=0;i intBuffer.put(0xff000000 | pdid)您验证高度、宽度和通道(3)的乘积=字节数组(测试)长度?它们不相同。但我不知道如何使它们相同。