Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何实时抓取Android设备屏幕(40-60 FPS)进行帧处理(根设备)(排除/忽略覆盖视图)_Android_Android Studio_Opencv_Screenshot - Fatal编程技术网

如何实时抓取Android设备屏幕(40-60 FPS)进行帧处理(根设备)(排除/忽略覆盖视图)

如何实时抓取Android设备屏幕(40-60 FPS)进行帧处理(根设备)(排除/忽略覆盖视图),android,android-studio,opencv,screenshot,Android,Android Studio,Opencv,Screenshot,我目前使用MediaProjection抓取屏幕帧(我不想要相机流,我想要设备流),用openCV处理它,然后在叠加上画一些线(Hough线),然后在屏幕上添加这个叠加 由于MediaProjection会记录屏幕上出现的任何内容,因此在随后的屏幕截图中会包含我的openCV覆盖,这是不需要的 我需要一种方法来截图,同时忽略这个覆盖视图,这需要尽可能接近实时完成 我的目标是处理其他应用程序(最好是屏幕上显示的任何内容)的屏幕数据(逐帧),而不是我自己的应用程序 因为我使用的是根设备,所以我愿意接

我目前使用MediaProjection抓取屏幕帧(我不想要相机流,我想要设备流),用openCV处理它,然后在叠加上画一些线(Hough线),然后在屏幕上添加这个叠加

由于MediaProjection会记录屏幕上出现的任何内容,因此在随后的屏幕截图中会包含我的openCV覆盖,这是不需要的

我需要一种方法来截图,同时忽略这个覆盖视图,这需要尽可能接近实时完成

我的目标是处理其他应用程序(最好是屏幕上显示的任何内容)的屏幕数据(逐帧),而不是我自己的应用程序

因为我使用的是根设备,所以我愿意接受所有建议,比如使用自定义ROM/OS或任何其他技术魔法

我正在使用根设备,并将在同一设备上运行我的应用程序。 我尝试使用: 1) 媒体投影API 2) 系统/储物箱/筛盖

在截图之前,我也尝试过“隐藏”我的叠加视图,但它似乎不起作用,因为MediaProjection或ScreenCap图像实际上不是实时的,而是几秒钟前的

我已将此应用程序用作我的起点:

除了一些额外的OpenCV操作外,所有代码都是相同的

以下是我正在运行的代码中的一些示例:

我想在下次获取屏幕截图时排除处理/行。 有没有办法做到这一点