1

我有使用硬件摄像头在 OpenCV 中进行一些分析的应用程序。我正在使用 ImageReader 获取帧,然后将它们传递给算法。但我只想从 ImageReader 获得每秒 1 或 2 帧。

我试图这样做:

val imageReaderListener = ImageReader.OnImageAvailableListener { reader ->
    reader?.let {
        fps++
        if (fps > 30) {
            val image = it.acquireLatestImage()
            //mage calculations
            fps = 0
            image.close()
        }
    }
}

但不幸的是,当 ImageReader 最大图像设置为 1 时(我只需要向用户显示最新结果,所以我不需要增加这个数字),相机图片被冻结。那么有什么方法可以降低 ImageReader 的 FPS 吗?

4

0 回答 0