RGB到HSV的转换

时间:2015-08-13 16:17:40

标签: java android opencv

我是Android和Opencv的新手,我想将一些rgb图像转换为hsv,我知道我可以使用

 Imgproc.cvtColor(mat, mat1, Imgproc.COLOR_RGB2HSV);

但是如何在android中创建“mat”?

在Java中我用过:

 byte[] data = ((DataBufferByte) image.getRaster().getDataBuffer()).getData();
 Mat mat = new Mat(image.getHeight(), image.getWidth(), CvType.CV_8UC3);
  mat.put(0, 0, data);

在Android中我已经得到了这个:

mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic1);             
mPhotoWidth = mBitmap.getWidth();
mPhotoHeight = mBitmap.getHeight(); 

谢谢,

1 个答案:

答案 0 :(得分:0)

b是您的Bitmap图片。

Mat tmp = new Mat (b.getWidth(), b.getHeight(), CvType.CV_8UC3);
Utils.bitmapToMat(b, tmp);
Imgproc.cvtColor(tmp, tmp, Imgproc.COLOR_RGB2HSV);

// back to Bitmap
Utils.matToBitmap(tmp, b);