我正在使用AR Android应用,当我接近可渲染对象时,我想将AR视频流的颜色设为黑白,当然,除了可渲染对象之外。我搜索了文档,但发现无法像Exploring AR interaction (Google I/O '18)所示那样访问视频流。
有人知道如何做到这一点吗?
答案 0 :(得分:2)
要从ARCore获取视频流,需要将纹理绘制到 OpenGL 3.1上下文中。您可以找到here的操作方法。
捕获视频流后,将颜色video
/ image
转换为灰度级(红色,绿色和蓝色的平均值)的最简单方法是使用饱和度为零的Colour Matrix
。
以下是Java代码的部分摘录,该内容以编程方式进行:
ColorMatrix BW_matrix = new ColorMatrix();
BW_matrix.setSaturation(0);
ColorMatrixColorFilter BW_filter = new ColorMatrixColorFilter(BW_matrix);
imageview.setColorFilter(BW_filter);
您只需要将其应用于手机摄像头的视频流,而不是将Sceneform的3D模型添加到场景后再应用于渲染结果。
希望这会有所帮助。