我有一个camera2实现。当前的设置是,它使用纹理View表面来显示实际的相机View,并使用ImageReader表面来捕获图像。现在我也想捕捉预览帧。所以我尝试添加一个新的ImageReader表面来捕获帧。但是当我将该表面添加到createCaptureSession请求时,屏幕变为空白。可能有什么问题?下面是我用来将表面添加到createCaptureSession的代码valsurface=preview.surface?:throwCameraAccessException(CameraAccessException.CAMERA_ERROR)valpreviewIRSu
我遇到了一个问题,我在使用ImageReader的同时还使用了一个用于显示相机输出的SurfaceView。我已经像这样添加了SurfaceView本身和ImageReader的表面(并添加了ImageReader监听器以便接收新图像上的事件):preview.addTarget(_surfaces.get(1));//ImageReadersurfacepreview.addTarget(_surfaces.get(0));//SurfaceViewofthelayout但是,如果我删除ImageReader,应用程序工作正常(相机没有滞后)。但是一旦添加了ImageReader表面
我遇到了对Nexus6关注缓慢的问题。我开发相机应用程序,现在我正在使用camera2API。为了应用程序需要,我们创建了具有2个表面的预览请求-SurfaceView(取景器)-YUVImageReader表面(在直方图计算中使用数据)还有一个临界点!如果只添加取景器表面,对焦会正常进行。但是对于2这些表面,随着镜头移动的视觉步长,聚焦发生得非常慢!代码很标准,根据google文档写的:mImageReaderPreviewYUV=ImageReader.newInstance(previewWidth,previewHeight,ImageFormat.YUV_420_888,2)
我将ImageReader与Handler结合使用,以便在背景中获取图像。但我得到:FatalException:java.lang.IllegalStateExceptionmaxImages(2)hasalreadybeenacquired,call#closebeforeacquiringmore.privatefinalImageReader.OnImageAvailableListenermOnImageAvailableListener=newImageReader.OnImageAvailableListener(){@OverridepublicvoidonImageA
我一直在开发一个简单的Android应用程序,旨在将流式相机帧从AndroidCamera2API管道传递到我的算法。我已经使用AndroidCamera1API制作了几个忠实地执行此操作的应用程序,但即使在检查(Google文档、论坛)以确认编码正确之后,我也无法从onImageAvailable()中的ImageReader捕获任何真实数据。请注意以下相关代码:设置图像阅读器:privatevoidsetUpCameraOutputs(intwidth,intheight){[....code....]mImageReader=ImageReader.newInstance(sma
我正在开发自定义相机API2应用程序,我注意到当我使用ImageReader回调时,捕获格式转换在某些设备上是不同的。例如,在Nexus4中无法正常工作,而在Nexus5X中看起来正常,这是输出。我以这种形式初始化ImageReader:mImageReader=ImageReader.newInstance(320,240,ImageFormat.YUV_420_888,2);我的回调是简单的回调ImageReader回调。mOnImageAvailableListener=newImageReader.OnImageAvailableListener(){@Overridepubl
谁能告诉我我做错了什么...我想使用SurfaceView捕捉我有预览屏幕的图像。我能够在表面View上显示预览。这是我捕获图像的代码if(mCameraSession==null&&mCameraDevice==null)return;ImageReaderreader=ImageReader.newInstance(mTexturePreviewSize.getWidth(),mTexturePreviewSize.getHeight(),ImageFormat.JPEG,1);reader.setOnImageAvailableListener(imageAvailableLis
我正在使用AndroidImageReader类从MediaProjection.createVirtualDisplay方法接收位图。到目前为止,我的代码如下所示:mProjection.createVirtualDisplay("test",width,height,density,flags,mImageReader.getSurface(),newVirtualDisplayCallback(),mHandler);mImageReader.setOnImageAvailableListener(newImageReader.OnImageAvailableListener()
我有一个能够捕获屏幕内容的应用设置。但是,有时,我会从aquireLatestImage返回一个null值。.文档说它将返回“如果没有可用的图像数据则为null”。我很想知道没有可用图像数据的原因是什么?编辑:据我所知,这种情况在LG设备上最常发生...编辑2:我遇到的情况是在先前返回有效图像值之后返回空值。并且它继续返回空值。对于非LG设备,偶尔会返回空值。对于LG设备,似乎一旦它返回一个null,其余的将是null。编辑3:包括一些代码WindowManagerwm=(WindowManager)context.getSystemService(Context.WINDOW_SER
我正在使用camera2Basic现在并尝试获取每一帧数据以进行一些图像处理。我在Android5.0中使用camera2API,仅进行相机预览时一切都很好,而且很流畅。但是当我使用ImageReader.OnImageAvailableListener回调获取每一帧数据时预览卡住了,这导致了糟糕的用户体验。以下是我的相关代码:这是相机和ImageReader的设置,我设置图像格式为YUV_420_888publicSizesetUpCameraOutputs(CameraManagercameraManager,ClasskClass,intwidth,intheight){bool