Articles of 相机

以不同的过程打开相机

我的一个应用程序在一些Kitkat Samsung设备中存在严重的活动娱乐问题。 拍摄照片时问题更频繁出现,并且在具有一半RAM的蹩脚的Jellybean Samsung没有观察到。 尽管没有OutOfMemoryException ,但日志显示内存不足的情况。 我认为在Kitkat有一个更积极的活动关闭政策(或者默认的相机应用程序漏洞)。 当我的应用程序的内存很高时,我想知道操作系统是否会关闭我的活动,或者当所有应用程序使用的总内存很高时,它会关闭它们。 如果操作系统具有每个进程阈值,则可能在不同的进程中打开相机可能会有所帮助。 我知道可以使用清单中的process属性在自己的进程中启动服务。 假设Activities不存在等效属性,如果我在自己的进程中启动了代理服务,然后从该服务启动了一个活动,那么活动是否也会在此过程中运行?

60 / 120fps在Android设备上预览数据?

我们希望使用霓虹组件或GPU着色器处理120 fps(或60fps)相机预览数据,以执行简单的image processing操作(例如3×3卷积)。 我们对在屏幕上显示图像不感兴趣,因此相机数据应直接转到SurfaceTexture。 我们认为我们可以使用CameraConstrainedHighSpeedCaptureSession在Nexus 5上使用Camera2 API执行此操作,但是不成功。 互联网上目前没有function代码(至少我们已经删除的部分)允许这样做,但似乎可能存在function。 使用Camera2 API进行高速录制的最佳示例如下: https : //github.com/PkmX/lcamera 为了鼓励某人发布解决方案,我正在对这个问题给予赏金。

如何将帧坐标映射到视觉中的叠加

我觉得这个问题已经解决了很多次,但我无法弄清楚。 我基本上遵循了关于移动视觉的这个小教程并完成了它。 之后我尝试从ColorBlob开始检测对象并绘制边框。 想法是从框架的中间开始(有目的地将对象保持在相机的中间)并通过其颜色检测该对象的边缘。 只要我以横向模式(Frame.ROTATION_0)保持手机,它就可以正常工作。 一旦我处于纵向模式(Frame.Rotation_90),边界的Rect就会被绘制为旋转,因此具有更多高度的对象将被绘制为具有更多宽度,并且还有点偏离。 文档说,探测器总是向未旋转的直立框架提供坐标,所以我应该如何计算相对于其旋转的边界矩形坐标? 我不认为这很重要,但这里是我如何find颜色Rect public Rect getBounds(Frame frame){ int w = frame.getMetadata().getWidth(); int h = frame.getMetadata().getHeight(); int scale = 50; int scaleX = w / scale; int scaleY = h / scale; int midX = w / 2; int midY = h / 2; float ratio = 10.0 Rect mBoundary = […]

相机自动对焦回调未发生

我在Android上使用Camera API,并使我的代码可以在包括Samsung Galaxies和HTC Desire在内的多个平台上运行。 到目前为止,我只是在HTC Desire Z上遇到问题,这是间歇性的。 在我的代码中,我正在调用以下指令 camera.startPreview(); camera.autoFocus(autoFocusCallback); 我已经创建了所需的autoFocusCallback类。 我想再次强调,这段代码适用于手机,包括我遇到问题的手机,所以不要仔细检查代码。 :)在调用回调之后,我的代码继续拍摄照片,但那部分现在无关紧要。 间歇性问题是对于某个随机图片(在20-100次中发生一次),回调不会发生。 我已经用自己的Log.i()validation了这是执行的最后一个命令(即代码没有进入回调)。 调试还显示没有报告错误。 为了让您放心,我的回调看起来像这样 AutoFocusCallback autoFocusCallback = new AutoFocusCallback() { @Override public void onAutoFocus(boolean success, Camera camera) { Log.i(“tag”,”this ran”); … … } }; 成功运行的Logcat结果看起来像这样 07-12 10:17:50.564: DEBUG/QualcommCameraHardware(1223): startPreview X 07-12 10:17:50.564: DEBUG/QualcommCameraHardware(1223): autoFocus E 07-12 10:17:50.564: DEBUG/QualcommCameraHardware(1223): autoFocus X 07-12 10:17:50.564: […]

Java.lang.Runtimeexception:拍照失败了吗?

我在Android应用程序中的后台拍照。 但它给出了一个错误: 02-09 15:22:12.061: E/cheeta(28633): timer testing 02-09 15:22:13.546: W/System.err(28633): java.lang.RuntimeException: takePicture failed 02-09 15:22:13.546: W/System.err(28633): at android.hardware.Camera.native_takePicture(Native Method) 02-09 15:22:13.546: W/System.err(28633): at android.hardware.Camera.takePicture(Camera.java:1194) 02-09 15:22:13.551: W/System.err(28633): at cam.sharp.MainActivity$MyTimerTask.run(MainActivity.java:69) 02-09 15:22:13.551: W/System.err(28633): at java.util.Timer$TimerImpl.run(Timer.java:284) 02-09 15:22:13.551: E/cheeta(28633): timer testing 02-09 15:22:15.051: W/System.err(28633): java.lang.RuntimeException: takePicture failed 02-09 15:22:15.051: W/System.err(28633): at android.hardware.Camera.native_takePicture(Native Method) 02-09 15:22:15.051: W/System.err(28633): at […]

Android:将OpenGL效果应用于相机

Android中是否有任何方法可以使用GLSurfaceView显示相机预览,同时在该表面上使用OpenGL效果? 具体的添加剂混合效果 我知道OpenGL可以使用这些效果,我知道相机可以放在SurfaceView上,但是可以将相机放在GLSurfaceView中并将OpenGL混合效果应用于相机预览吗?

如何在非相机应用程序中使用Android Camera API?

我想在非Camera应用程序中使用一些Android 4 API。 API包括一些非常好的人脸检测类,包括自API 14以来可用的Camera.Face类。我想应用相同的人脸检测类,以便对保存在设备上的图像实现人脸检测。 我更喜欢使用它来处理存储在设备上的图片(例如:社交标记,面部image processing等) 我需要有关如何完成此重用任务的指导。

如何使用相机在Android后台服务中拍照?

我正在开发一个在后台运行的服务,它可以将成功的图像和数据上传到网络上。 现在我想上传相机拍摄的图像。 在Android 2.2上没有预览的情况下,是否可以在后台服务中使用相机? 我在网上发现了各种对比剂的答案…… 我该怎么做?

捕获图像后调用StartPreview()的最佳方法是什么?

一旦调用Camera.takePicture(),我的预览将停止更新,如文档中所述。 检测图像捕获过程完成的最佳方法是什么,并调用startPreview()使其再次开始更新? 根据文档,调用不能放在传递给takePicture的任何回调中,因为它们应该在我调用之前返回。 我目前最好的猜测是创建一个Handler并从JPEG回调中发布一个延迟的Runnable(或者是最后一个定义的回调函数)。

使用Android 6.0未经许可捕获图像

我需要让用户使用Android 6.0拍照(来自图库或相机应用)。 因为我不需要控制相机,所以我想使用这里描述的意图: 但是,如果您不需要此类控件,则只需使用ACTION_IMAGE_CAPTURE意图来请求图像。 当您启动意图时,系统会提示用户选择相机应用程序(如果还没有默认的相机应用程序),该应用程序将拍摄照片。 相机应用程序将图片返回到应用程序的onActivityResult()方法。 https://developer.android.com/preview/features/runtime-permissions.html 但是对于这个ACTION_IMAGE_CAPTURE ,你需要将额外的“MediaStore.EXTRA_OUTPUT”填充到一个临时文件(没有这个参数,我只有一个缩略图)。 此临时文件必须位于外部存储中(可由相机应用程序访问)。 您需要WRITE_EXTERNAL_STORAGE权限才能在外部存储上创建文件。 因此,如果没有android.permission.CAMERA或android.permission.WRITE_EXTERNAL_STORAGE 权限,则无法通过原生对话框/应用程序捕获图像。 那是对的吗? 谢谢