我是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();
谢谢,
答案 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);