Java CameraX分析图像帧无法检测对象 下面是我们编写的代码: PreviewView mPreviewView=(PreviewView)findViewById(R.id.camera\U预览); imageAnalysis=新建imageAnalysis.Builder() .挫折执行人(执行人) .setMaxResolution(新的android.util.Size(mPreviewView.getMeasuredWidth(),mPreviewView.getMeasuredHeight()) .setTargetRotation(mPreviewView.getDisplay().getRotation()) .setTargetResolution(新的android.util.Size(mPreviewView.getMeasuredWidth(),mPreviewView.getMeasuredHeight()) .SetbackPressureStragy(图像分析。策略\u仅保留\u最新) .build();
我们在三星S10设备上面临自动捕获问题。Autocapture在这方面不起作用,因为与其他设备相比,高度和宽度不正确。我们实际上依赖于视频预览的宽度和高度,基于此,我们进行了一些计算,以检测摄像机上的物体。目前,我们使用mPreviewView.getMeasuredWidth()和mPreviewView.getMeasuredHeight()来获取视频预览的宽度和高度,如果使用此设备,则该宽度和高度不准确。它给出的分辨率与用户在屏幕上看到的分辨率不同(W:H=640X480)。请让我们知道我们是否遗漏了任何东西,或者API中是否存在任何不适用于此设备的缺陷。请让我们知道 提前感谢,,Java CameraX分析图像帧无法检测对象 下面是我们编写的代码: PreviewView mPreviewView=(PreviewView)findViewById(R.id.camera\U预览); imageAnalysis=新建imageAnalysis.Builder() .挫折执行人(执行人) .setMaxResolution(新的android.util.Size(mPreviewView.getMeasuredWidth(),mPreviewView.getMeasuredHeight()) .setTargetRotation(mPreviewView.getDisplay().getRotation()) .setTargetResolution(新的android.util.Size(mPreviewView.getMeasuredWidth(),mPreviewView.getMeasuredHeight()) .SetbackPressureStragy(图像分析。策略\u仅保留\u最新) .build();,java,android,api,google-api,android-camerax,Java,Android,Api,Google Api,Android Camerax,我们在三星S10设备上面临自动捕获问题。Autocapture在这方面不起作用,因为与其他设备相比,高度和宽度不正确。我们实际上依赖于视频预览的宽度和高度,基于此,我们进行了一些计算,以检测摄像机上的物体。目前,我们使用mPreviewView.getMeasuredWidth()和mPreviewView.getMeasuredHeight()来获取视频预览的宽度和高度,如果使用此设备,则该宽度和高度不准确。它给出的分辨率与用户在屏幕上看到的分辨率不同(W:H=640X480)。请让我们知道我
Sagar您能澄清一下为什么需要PreviewView进行图像分析吗?图像分析通常使用ImageAnalysisAPI完成。抱歉,回复太晚。它在三星M30、谷歌pixel4、samung s8、LG g5等其他设备上运行良好。但在三星s10设备上面临问题。您在s10上面临的问题是什么?
<androidx.camera.view.PreviewView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/camera_preview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hardwareAccelerated="true"
/>
PreviewView mPreviewView = (PreviewView) findViewById(R.id.camera_preview);
imageAnalysis = new ImageAnalysis.Builder()
.setBackgroundExecutor(executor)
.setMaxResolution(new android.util.Size(mPreviewView.getMeasuredWidth(),mPreviewView.getMeasuredHeight()))
.setTargetRotation(mPreviewView.getDisplay().getRotation())
.setTargetResolution(new android.util.Size(mPreviewView.getMeasuredWidth(),mPreviewView.getMeasuredHeight()))
.setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST)
.build();