3
我想从onPreviewFrame接收的原始字节中查找轮廓。 当我们执行setDisplayOrientation(根据android开发人员文档)时,这些接收到的原始字节不会旋转。单独旋转轮廓变得越来越困难。如何有效地旋转这些字节然后处理它?我正在使用openCV来查找轮廓。onPreviewFrame中的图像处理
@Override
public void onPreviewFrame(byte[] data, Camera camera) {
previewSize = cameraConfigUtil.cameraInstance.getParameters().getPreviewSize();
Mat srcMat = new Mat(previewSize.height, previewSize.width, CvType.CV_8UC3);
srcMat.put(0, 0, data);
rect = ImageCorrection.getLargestContour(data, previewSize.height, previewSize.width);
android.graphics.Rect rectangle = new android.graphics.Rect();
rectangle.left = rect.x;
rectangle.top = rect.y;
rectangle.right = rect.x + rect.width;
rectangle.bottom = rect.y + rect.height;
mOverlay.clear();
BarcodeGraphic graphic = new BarcodeGraphic(mOverlay);
mOverlay.add(graphic);
graphic.updateItem(rectangle);
Imgproc.rectangle(srcMat, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height), new Scalar(255, 0, 0, 255), 3);
Utils.matToBitmap(srcMat, bitmap);
}
这里给出矩形轮廓的四个点,我想这根据setDisplayOrientation设置角度旋转。