我有使用硬件摄像头在 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 吗?