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設置角度旋轉。