问题标签 [image-reader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
21 浏览

android - 有什么方法可以从部分表面创建 eglSurface 吗?

我想用 openGL 来渲染一个大的表面。但我陷入了硬件限制。openGL 不能渲染大于 MAX_RENDERBUFFER_SIZE。

参考: 使用 EGL 和 openGL 渲染到大型 ImageReader 表面,无法渲染出 GL_MAX_VIEWPORT_DIMS 范围

所以我试图渲染表面的一部分。当我通过 eglCreateWindowSurface 创建 eglSurafce 时,我正在寻找一些参数,例如 rect(offsetX, offsetY, width, height)。但我现在找不到它。

0 投票
1 回答
79 浏览

android - 使用Android NDK Camera2获取预览帧的正确方法是什么

基于 NDK 相机示例纹理视图,我想创建一个ImageReader以获取预览帧。

我做了什么

创建ImageReader和相机会话:

然后开始预览:

我在setRepeatingRequest. 一个用于TextureView显示,另一个用于接收 C++ 中的预览帧。

现在,问题是设置两个输出后,预览性能下降(看起来像播放幻灯片),这在 Java 中不会发生:

我还尝试了一个带有两个输出目标的请求。但是代码导致屏幕冻结:

这是日志:

有人知道为什么吗?谢谢!

0 投票
1 回答
40 浏览

android - Kotlin & Camera 2 中的 ImageReader - 从相机阅读器表面保存 .jpg 文件

我正在尝试从我的 ImageReader.surface 中获取一张照片,该照片已添加为我对 CaptureSession 的捕获请求的目标,我正在为此苦苦挣扎,因为我尝试使用 imageReader.acquireLatestImage() 但这个 alawys 参考了我到我在其中使用 ImageReader.surface 的新 imagewriter.newInstance(...).dequeueinputimage 中的空对象枯萎,或者当我从阅读器获取图像时,我的 imagereader 表面似乎有问题,但我已经尝试过有很多方法,但无法弄清楚如何在知道我关闭阅读器 ImageAVailablelistener 上的图像的情况下简单地从该捕获中提取图像:

我的整个代码:

创建时:

0 投票
0 回答
22 浏览

android - ImageReader 中的图像与我的预览表面不同

我从 ImageReader 表面写了我的图像并得到了一张非常糟糕的照片,是比例吗?它们都是相同的(w & h),是 TotalCaptureResult 吗?,请检查下面的照片和代码,感谢您的帮助。

1- 我的 SurfaceView 的原始照片(截图)

SurfaceView holder.surface

2- 我在 captureRequest 中定位的 ImageReader Surface 输出照片。

ImageReader 表面

3-检查我的代码,一个函数中的所有代码,我在 OnCreate 中调用它。

代码 :

编辑:一张来自 ImageReader 的照片,另一张是 SurfaceView 预览的屏幕截图。

0 投票
0 回答
62 浏览

java - Android ImageReader - 指定的格式无效 42

我一直在努力使用 ImageReader 捕捉手机屏幕的图像。我收到的 JPEG 无效。使用此设置:

我在 onImageAvailable 中得到了这个:

如果我尝试提取位图,则位图为空:

如果我设置高度!=宽度,我将看到以下异常:

我花了相当多的时间来研究这个。我已经尝试更改我的 ImageReader 设置以生成 JPEG 以外的格式。当我使用 ImageFormat.FLEX_RGBA_8888 而不是 ImageFormat.JPEG 时,每次出现如下异常时:

我看到 ImageFormat.FLEX_RGBA_8888 在 ImageFormat.java 中被定义为 0x29 (42)。我查看了在这里找到的 ImageUtils.java 代码:

https://cs.android.com/android/platform/superproject/+/master:frameworks/base/media/java/android/media/ImageUtils.java;l=55;bpv=1;bpt=0

事实上 FLEX_RGBA_8888 不是 getNumPlanesForFormat 识别的代码之一,所以我可以看到为什么这被拒绝了。我是一名 Android 新手,可能会遗漏明显的内容,但为什么 ImageFormat 会提供被 ImageReader 拒绝的值?换句话说,如果我在 ImageUtils case 语句中输入一些我认为有效的代码,例如 PixelFormat.RGBA_8888,我的代码甚至不会编译。有人告诉我:

以下是我的设置方式:

我将其作为远程服务运行,并且一直在三星 Note 8 和 Pixel 4a 上进行测试,这两种设备都是物理设备。

编辑1:

在 ImageReader 的 onImageAvailable 中,我有以下内容:

0 投票
0 回答
55 浏览

java - 转换 TIFF 文件时出现 java.lang.ArrayIndexOutOfBoundsException 错误

我正在编写使用 pdfbox 将 tiff 文件转换为 pdf 的代码,但是在读取 TIFF 文件的某些页面时收到以下错误。这不会发生在所有文件或所有页面上。

收到的错误如下

java.lang.ArrayIndexOutOfBoundsException:在 java.desktop/com.sun.imageio 的 java.desktop/com.sun.imageio.plugins.tiff.TIFFFaxDecompressor.nextLesserThan8Bits(TIFFFaxDecompressor.java:1540) 处的索引 23465 超出范围,长度为 23465。 plugins.tiff.TIFFFaxDecompressor.decodeT6(TIFFFaxDecompressor.java:1080) 在 java.desktop/com.sun.imageio.plugins.tiff.TIFFFaxDecompressor.decodeRaw(TIFFFaxDecompressor.java:655) 在 java.desktop/com.sun.imageio。 plugins.tiff.TIFFDecompressor.decode(TIFFDecompressor.java:2526) 在 java.desktop/com.sun.imageio.plugins.tiff.TIFFImageReader.decodeTile(TIFFImageReader.java:1124) 在 java.desktop/com.sun.imageio。 plugins.tiff.TIFFImageReader.read(TIFFImageReader.java:1342) 在 java.desktop/javax.imageio.ImageReader.read(ImageReader.java:938) 在 com.allstate.acg.claims.tiff.TiffToPDF.convert(TiffToPDF. java:37) 在 com.allstate.acg。claim.tiff.TiffToPDF.main(TiffToPDF.java:60)

关于可能导致这种情况的任何帮助?