Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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.hardware.camera2实时处理图像?_Android_Image Processing_Android Camera - Fatal编程技术网

如何使用新的android.hardware.camera2实时处理图像?

如何使用新的android.hardware.camera2实时处理图像?,android,image-processing,android-camera,Android,Image Processing,Android Camera,示例Camera2Base可以很好地理解如何从相机捕获图像,而不是从相机流传输的图像。您可以尝试捕获每个图像,但我认为有更好的方法访问流。我猜流可以在下面代码中“case”语句中的行中捕获,但我不知道怎么做 在捕获图像后,我需要能够找到其中激光红点的位置。我从来没有做过图像处理,我猜是扫描位图矩阵,寻找红点的红色,我不需要任何图像处理库的帮助。对于让一个图像处理库来完成这个简单的任务,您有什么想法?假设图像上没有其他红色。我一直在研究上面的代码,我相信mCaptureSession会将相机的管道

示例Camera2Base可以很好地理解如何从相机捕获图像,而不是从相机流传输的图像。您可以尝试捕获每个图像,但我认为有更好的方法访问流。我猜流可以在下面代码中“case”语句中的行中捕获,但我不知道怎么做


在捕获图像后,我需要能够找到其中激光红点的位置。我从来没有做过图像处理,我猜是扫描位图矩阵,寻找红点的红色,我不需要任何图像处理库的帮助。对于让一个图像处理库来完成这个简单的任务,您有什么想法?假设图像上没有其他红色。

我一直在研究上面的代码,我相信mCaptureSession会将相机的管道重定向到预览纹理和捕捉本身,但不会同时重定向到两者。预览纹理由mCaptureSession.setRepeatingRequest“刷新”,在CaptureShillPicture()上触发“捕获”时调用MonitorImageAvailableListener,但如果禁用预览纹理并使用同一生成器设置重复请求以尝试调用MonitorImageAvailableListener,则无法工作。还有其他人在做这件事吗?有什么启示吗?我正在解决同样的问题,需要实时检查二维码,但到目前为止,我得出结论,我应该使用MediaCodec作为表面目标,并像处理视频流一样处理它。我会试着让你知道米哈伊尔你试过zxing吗?我创建了这个:,它工作得非常好。我认为这将有助于我学习上面的代码,我相信mCaptureSession会将相机的管道重定向到预览纹理和捕捉本身,但不会同时重定向到两者。预览纹理由mCaptureSession.setRepeatingRequest“刷新”,在CaptureShillPicture()上触发“捕获”时调用MonitorImageAvailableListener,但如果禁用预览纹理并使用同一生成器设置重复请求以尝试调用MonitorImageAvailableListener,则无法工作。还有其他人在做这件事吗?有什么启示吗?我正在解决同样的问题,需要实时检查二维码,但到目前为止,我得出结论,我应该使用MediaCodec作为表面目标,并像处理视频流一样处理它。我会试着让你知道米哈伊尔你试过zxing吗?我创建了这个:,效果非常好。我认为这会有所帮助
private CameraCaptureSession.CaptureCallback mCaptureCallback
        = new CameraCaptureSession.CaptureCallback() {
    private void process(CaptureResult result) {
        switch (mState) {
            case STATE_PREVIEW: {
                // We have nothing to do when the camera preview is working normally.
                break;
            }