我正在研究新的 CameraX API,以了解从我们当前的 Camera2 系统切换的可行性。
在我们的 Camera2 系统中,我们使用 OpenGL 表面从 PreviewCaptureSession 捕获帧,并且我们在大多数设备上达到一致的 30fps 图像处理速度,有些能够在启用 AutoExposure 设置的情况下达到 60fps。
CameraX 没有提供接近该速度的任何东西,我不确定它是否是我在设置中遗漏的东西。
我已经为 CameraX 和 ImageAnalysis 设置了测试示例,但是我正在锁定通过图像数量的帧速率。
例如,我可以将分辨率设置为低至 320x240 到 1920x960,并且两者都会以(看似上限)16fps 的速度出现。
当我添加一个预览用例与它一起运行并设置 enableTorch(true) 时,ImageAnalysis 用例将突然开始变得更像 20fps,它偶尔会达到 30ish。
显然预览用例改变了相机的一些 AutoExposure 状态?
这是我当前设置的狙击手......
private fun startCameraAnalysis() {
val metrics = DisplayMetrics().also { viewFinder.display.getRealMetrics(it) }
var resolution = Size(metrics.widthPixels, metrics.heightPixels)
resolution = Size(640, 480) //set to fixed size for testing
val aspectRatio = Rational(resolution.width, resolution.height)
val rotation = viewFinder.display.rotation
// Setup image analysis pipeline
val …Run Code Online (Sandbox Code Playgroud) 我有一个在 YAML 中运行的 Azure DevOps 管道。
我正在使用 VSTest@2 任务来执行一些单元测试。这一切都工作正常,我看到测试结果出现在阶段概述 UI 本身以及标题中的“测试和覆盖范围”概述中。
我的 YAML 管道还会向 Slack 通道发布一条消息,其中包含指向构建、成功/失败状态和其他内容的链接。我也热衷于将测试结果添加到消息中...只是一个简单的“总测试 X - 通过 X - 失败 X - 跳过 X”显示。这发生在最后的一个单独的阶段。
有没有办法在管道的后期(在不同的代理上运行)中获取前一阶段的测试结果?
测试是否可作为工件使用,如果是,它们在哪里以及以什么格式提供?
我认为唯一的方法是通过 Azure API 是正确的吗?(我真的懒得为了这个功能而在管道中设置身份验证,我在其他任何地方都不与 API 交互)