From 54d600f63fb370f8ce8ffe63556c0adc196d2b28 Mon Sep 17 00:00:00 2001 From: zhaojun Date: Mon, 12 Jul 2021 15:09:05 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dfindbugs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/boofcv/ohos/BOverrideConvertOhos.java | 6 +++--- .../main/java/boofcv/ohos/ImplConvertBitmap.java | 2 +- .../boofcv/ohos/camera/VisualizeCameraSlice.java | 2 +- .../java/org/boofcv/video/slice/BitmapSlice.java | 15 ++++++++++----- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/boofcv/src/main/java/boofcv/ohos/BOverrideConvertOhos.java b/boofcv/src/main/java/boofcv/ohos/BOverrideConvertOhos.java index c8296288a..57e2dc1d1 100644 --- a/boofcv/src/main/java/boofcv/ohos/BOverrideConvertOhos.java +++ b/boofcv/src/main/java/boofcv/ohos/BOverrideConvertOhos.java @@ -36,9 +36,9 @@ public class BOverrideConvertOhos extends BOverrideClass { BOverrideManager.register(BOverrideConvertOhos.class); } - public static YuvToBoof_420888 yuv420ToBoof; - public static BitmapToBoof bitmapToBoof; - public static BoofToBitmap boofToBitmap; + public static final YuvToBoof_420888 yuv420ToBoof = null; + public static final BitmapToBoof bitmapToBoof = null; + public static final BoofToBitmap boofToBitmap = null; public interface YuvToBoof_420888> { void yuvToBoof420(Image input, ColorFormat color, ImageBase output); diff --git a/boofcv/src/main/java/boofcv/ohos/ImplConvertBitmap.java b/boofcv/src/main/java/boofcv/ohos/ImplConvertBitmap.java index fdc75f75b..1d3da8a79 100644 --- a/boofcv/src/main/java/boofcv/ohos/ImplConvertBitmap.java +++ b/boofcv/src/main/java/boofcv/ohos/ImplConvertBitmap.java @@ -540,7 +540,7 @@ public class ImplConvertBitmap { int g = ((value & 0x07E0) >> 5) * 256 / 64; int b = (value & 0x001F) * 256 / 32; - output.data[indexDst++] = (r + g + b) / 3; + output.data[indexDst++] = (r + g + b) / (float) 3; } } } diff --git a/boofcv/src/main/java/boofcv/ohos/camera/VisualizeCameraSlice.java b/boofcv/src/main/java/boofcv/ohos/camera/VisualizeCameraSlice.java index 7ea4bb5e1..307cf6147 100644 --- a/boofcv/src/main/java/boofcv/ohos/camera/VisualizeCameraSlice.java +++ b/boofcv/src/main/java/boofcv/ohos/camera/VisualizeCameraSlice.java @@ -376,7 +376,7 @@ public abstract class VisualizeCameraSlice extends SimpleCameraSlice { return; } - imageToView.postRotate(-displayRotation + cameraRotation, cameraSize.width / half, cameraSize.height / half); + imageToView.postRotate(-displayRotation + cameraRotation, cameraSize.width / (float) half, cameraSize.height / (float) half); imageToView.postTranslate(offsetX, offsetY); imageToView.postScale(scale, scale); if (isStretchToFill) { diff --git a/entry/src/main/java/org/boofcv/video/slice/BitmapSlice.java b/entry/src/main/java/org/boofcv/video/slice/BitmapSlice.java index 68673f11b..1ca7c5bbb 100644 --- a/entry/src/main/java/org/boofcv/video/slice/BitmapSlice.java +++ b/entry/src/main/java/org/boofcv/video/slice/BitmapSlice.java @@ -3,9 +3,8 @@ package org.boofcv.video.slice; import boofcv.abst.fiducial.QrCodeDetector; import boofcv.alg.fiducial.qrcode.QrCode; import boofcv.factory.fiducial.FactoryFiducial; -import boofcv.struct.image.GrayU8; import boofcv.ohos.ConvertBitmap; -import org.boofcv.video.ResourceTable; +import boofcv.struct.image.GrayU8; import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.ability.DataAbilityHelper; import ohos.aafwk.ability.DataAbilityRemoteException; @@ -18,6 +17,7 @@ import ohos.media.image.ImageSource; import ohos.media.image.PixelMap; import ohos.utils.IntentConstants; import ohos.utils.net.Uri; +import org.boofcv.video.ResourceTable; import java.io.FileNotFoundException; import java.io.InputStream; @@ -92,12 +92,17 @@ public class BitmapSlice extends AbilitySlice { QrCodeDetector detector = FactoryFiducial.qrcode(null, GrayU8.class); detector.process(gray); - String text = "Total Detected = " + detector.getDetections().size() + "\n"; + StringBuilder text = new StringBuilder(); + text.append("Total Detected = "); + text.append(detector.getDetections().size()); + text.append("\n"); + for (QrCode qr : detector.getDetections()) { - text += qr.message + "\n"; + text.append(qr.message); + text.append("\n"); } - textView.setText(text); + textView.setText(text.toString()); } catch (FileNotFoundException | DataAbilityRemoteException e) { e.printStackTrace(); } -- Gitee From ad324300e18d2dd0f4b7e58fba6cf41ec7d52aaa Mon Sep 17 00:00:00 2001 From: zhaojun Date: Wed, 14 Jul 2021 14:26:50 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/boofcv/ohos/VisualizeImageData.java | 2 +- entry/src/main/config.json | 72 ++++++++++++++----- 2 files changed, 56 insertions(+), 18 deletions(-) diff --git a/boofcv/src/main/java/boofcv/ohos/VisualizeImageData.java b/boofcv/src/main/java/boofcv/ohos/VisualizeImageData.java index 9cc905089..fb8a24f92 100644 --- a/boofcv/src/main/java/boofcv/ohos/VisualizeImageData.java +++ b/boofcv/src/main/java/boofcv/ohos/VisualizeImageData.java @@ -550,7 +550,7 @@ public class VisualizeImageData { int[] colors = new int[numRegions]; byte[] seed = new byte[]{1, 2, 3}; - Random rand = new SecureRandom(seed); + SecureRandom rand = new SecureRandom(seed); for (int i = 0; i < colors.length; i++) { colors[i] = rand.nextInt(); } diff --git a/entry/src/main/config.json b/entry/src/main/config.json index 823710cc6..c061f1403 100644 --- a/entry/src/main/config.json +++ b/entry/src/main/config.json @@ -50,36 +50,24 @@ "launchType": "standard" }, { - "permissions": [ - "com.huawei.hm_boofcv.DataAbilityShellProvider.PROVIDER" - ], "name": "org.boofcv.video.ExposureAbility", "icon": "$media:icon", "description": "$string:exposureability_description", "type": "page" }, { - "permissions": [ - "com.org.boofcv.video.DataAbilityShellProvider.PROVIDER" - ], "name": "org.boofcv.video.BitmapAbility", "icon": "$media:icon", "description": "$string:bitmapability_description", "type": "page" }, { - "permissions": [ - "com.org.boofcv.video.DataAbilityShellProvider.PROVIDER" - ], "name": "org.boofcv.video.GradientAbility", "icon": "$media:icon", "description": "$string:gradientability_description", "type": "page" }, { - "permissions": [ - "com.org.boofcv.video.DataAbilityShellProvider.PROVIDER" - ], "name": "org.boofcv.video.QrCodeAbility", "icon": "$media:icon", "description": "$string:qrcodeability_description", @@ -88,19 +76,69 @@ ], "reqPermissions": [ { - "name": "ohos.permission.CAMERA" + "name": "ohos.permission.CAMERA", + "reason": "CAMERA", + "usedScene": { + "ability": [ + "org.boofcv.video.ExposureAbility", + "org.boofcv.video.BitmapAbility", + "org.boofcv.video.GradientAbility", + "org.boofcv.video.QrCodeAbility" + ], + "when": "always" + } }, { - "name": "ohos.permission.WRITE_USER_STORAGE" + "name": "ohos.permission.WRITE_USER_STORAGE", + "reason": "WRITE_USER_STORAGE", + "usedScene": { + "ability": [ + "org.boofcv.video.ExposureAbility", + "org.boofcv.video.BitmapAbility", + "org.boofcv.video.GradientAbility", + "org.boofcv.video.QrCodeAbility" + ], + "when": "always" + } }, { - "name": "ohos.permission.MICROPHONE" + "name": "ohos.permission.MICROPHONE", + "reason": "MICROPHONE", + "usedScene": { + "ability": [ + "org.boofcv.video.ExposureAbility", + "org.boofcv.video.BitmapAbility", + "org.boofcv.video.GradientAbility", + "org.boofcv.video.QrCodeAbility" + ], + "when": "always" + } }, { - "name": "ohos.permission.READ_USER_STORAGE" + "name": "ohos.permission.READ_USER_STORAGE", + "reason": "READ_USER_STORAGE", + "usedScene": { + "ability": [ + "org.boofcv.video.ExposureAbility", + "org.boofcv.video.BitmapAbility", + "org.boofcv.video.GradientAbility", + "org.boofcv.video.QrCodeAbility" + ], + "when": "always" + } }, { - "name": "ohos.permission.DISTRIBUTED_DATASYNC" + "name": "ohos.permission.DISTRIBUTED_DATASYNC", + "reason": "DISTRIBUTED_DATASYNC", + "usedScene": { + "ability": [ + "org.boofcv.video.ExposureAbility", + "org.boofcv.video.BitmapAbility", + "org.boofcv.video.GradientAbility", + "org.boofcv.video.QrCodeAbility" + ], + "when": "always" + } }, { "name": "ohos.permission.DISTRIBUTED_DEVICE_STATE_CHANGE" -- Gitee From 6104d83f1b5ea2b3392c3f44a2b12376fedabfd8 Mon Sep 17 00:00:00 2001 From: zhaojun Date: Wed, 14 Jul 2021 14:52:06 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/boofcv/ohos/camera/VisualizeCameraSlice.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boofcv/src/main/java/boofcv/ohos/camera/VisualizeCameraSlice.java b/boofcv/src/main/java/boofcv/ohos/camera/VisualizeCameraSlice.java index 307cf6147..315a70fa9 100644 --- a/boofcv/src/main/java/boofcv/ohos/camera/VisualizeCameraSlice.java +++ b/boofcv/src/main/java/boofcv/ohos/camera/VisualizeCameraSlice.java @@ -315,7 +315,10 @@ public abstract class VisualizeCameraSlice extends SimpleCameraSlice { DisplayManager displayManager = DisplayManager.getInstance(); Optional display = displayManager.getDefaultDisplay(this); - int rotation = display.get().getRotation(); + int rotation = 0; + if (display.isPresent()) { + rotation = display.get().getRotation(); + } final int ro = 90; videoToDisplayMatrix(new Size(cameraWidth, cameraHeight), new Size(viewWidth, viewHeight), -- Gitee