gpt4 book ai didi

android - OpenGL ES 2 不适用于 Android API23

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:36:40 24 4
gpt4 key购买 nike

在我的应用程序中,我正在做一些图像像素操作。我的代码基于 THIS示例。

我所做的唯一更改是将 FRAGMENT_SHADER 更改为灰度,它看起来像这样:

private static final String FRAGMENT_SHADER =
"#extension GL_OES_EGL_image_external : require\n" +
"precision mediump float;\n" + // highp here doesn't seem to matter
"varying vec2 vTextureCoord;\n" +
"uniform samplerExternalOES sTexture;\n" +
"void main() {\n" +
" vec4 tc = texture2D(sTexture, vTextureCoord);\n" +
" gl_FragColor.r = tc.r * 0.3 + tc.g * 0.59 + tc.b * 0.11;\n" +
" gl_FragColor.g = tc.r * 0.3 + tc.g * 0.59 + tc.b * 0.11;\n" +
" gl_FragColor.b = tc.r * 0.3 + tc.g * 0.59 + tc.b * 0.11;\n" +
"}\n";

问题:我从 Galaxy s7 设备录制了一段视频,录制后我拍摄了录制的视频,我正在从 2 个不同的设备(Galaxy S7 和 Galaxy s3)读取第一帧,我发现像素值在那些设备之间完全不同设备。

有人知道为什么会这样吗?由于这种差异,我的算法失败了,我该怎么做才能解决这个问题?

更新:

这是我得到的差异的示例。

银河 S3:矩阵的一部分213, 214, 212, 214, 216, 214, 213, 212, 212, 212, 213, 214, 214, 214, 213, 213, 214, 214, 214, 214, 212, 213, 212, 213, 212, 214, 214, 212, 212, 210, 211, 210, 211, 210, 211, 211, 214, 211, 214, 213, 213, 214, 214, 216, 216, 216, 215, 215, 216, 212, 213, 213, 214, 213, 213, 212, 211, 209, 209, 207, 208, 208, 210, 211, 209, 207, 209, 210, 217, 219, 216, 209, 209, 210, 210, 210, 211, 209, 207, 205, 205, 206, 210, 210, 220, 211, 202, 210, 211, 206, 206, 209, 210, 211, 213, 219, 222, 216, 217, 217

非零像素数:1632816

所有像素的总和:3.1834445E8

银河 S7:与 Galaxy 3 相同的 Matrix 部分164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164

非零像素数:1063680

所有像素的总和:1.6593408E8

更新2:

我发现收到的图像完全毁了,但是视频录制的很好。这是 Galaxy S3 的好照片: enter image description here

这是我从 Galaxy S7 获得的图像(同一帧#) enter image description here

我完全不知道这里发生了什么,但我知道最后一张图片对于所有 Marshmallow 设备(Galaxy S6、S7 和华为)都是一样的

最佳答案

Ok 经过一周的努力寻找解决方案,找到了!

正如我所说,我基于 bigflake 示例,在这个示例中有一个反转框架的选项,在示例中完成了什么。

通过将 invert 更改为 false,问题得到解决。

如果有人能向我解释框架反转的原因,以及为什么决定将其默认设置为“真”,我将不胜感激。

感谢您的帮助!

如果不够清楚,这是我所做的更改:

outputSurface.drawImage(false);

关于android - OpenGL ES 2 不适用于 Android API23,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39465637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com