设置变量预览帧手机拍照不能用怎么办存一帧

最近前同事兼好基友老戴问我要峩之前那个可以无卡顿手机拍照不能用怎么办的demo翻了一翻我的demo项目文件夹,有点真实

加上程序员都是不喜欢看自己以前写的代码的特性于是决定将这个功能封装一下,方便他人当然也是方便自己

这个功能的出处还是以前我们做的刷卡考勤机考勤的时候需要取到考勤图爿,所以需要进行手机拍照不能用怎么办

我一开始只是使用常规的Camera的takePicture方法来获取照片但是实际应用中会出现,手机拍照不能用怎么办速喥缓慢

当时我还去现场看了一下使用情况负责人跟我抱怨说拍摄速度很慢,给我演示了一下确实是有一个卡顿,当然这很好理解我悝直气壮的跟她解释说你用手机手机拍照不能用怎么办不也是会停顿一下的吗,手机需要聚焦啊这个本来就是这样的

而负责人跟我说了某某考勤机手机拍照不能用怎么办没有停顿啊,非常快的我第一反应是,应该是windows的机子

结果看到发现人家的也是android的机器于是便陷入了沉思

我们别的我不知道,但是抄袭这一招可是铁打的于是乎便开始了对android相机的探索


正如我标题写的,为了实现我卡顿的手机拍照不能用怎么办使用的是SurfaceView+Camera的方式,通过相机的预览到surfaceView上然后通过Camera的setPreviewCallback函数的回调来当前帧的图片,便不会有任何的卡顿

点击手机拍照不能用怎么辦之后可以获取到当前帧的图片的BitMap对象,以及保存至本地的路径

一个SurfaceView用来实时显示相机的画面
文本框和ImageView用来显示保存图片的路径和显示圖片

回调的两个函数onSuccess中返回以保存的图片和BitMap对象

通过点击按钮用来获取照片进入CameraTakeManager的回调

/** 点击手机拍照不能用怎么办获取照片*/

用canTake变量来判斷当前是否需要手机拍照不能用怎么办,为true时则取当前帧的图像,生成bitmap同时压缩一份图片文件到本地保存并把数据回调给接口

到这里僦算是完成了,技艺不精希望大家多提提意见,我也会第一时间改良记得给我点赞哦

在最后贴一下github的源码地址

}

很多时候android摄像头模块不仅预览,手机拍照不能用怎么办这么简单而是需要在预览视频的时候,能够做出一些检测比如最常见的人脸检测。在未按下手机拍照不能用怎么办按钮前就检测出人脸然后矩形框标示出来,再按手机拍照不能用怎么办那么如何获得预览帧视频么?

注意上面的bmp就是Bitmap格式的实時预览帧数据doSomethingNeeded(bmp) 就是你要对预览帧视频进行的处理,可以是检测人脸或其他如分析有无火灾。或者是进行传输  另外,这里是通过YuvImage和ImageFormat.NV21来解析数据的在华为u9200上,android4.0.3的系统运行良好不同手机上支持的格式可能有所不同。网上也有自己写算法进行转化的需要的可以自己找,泹这里如果支持这个格式就不用自己写转换算法了 

     大多数时候,希望程序自动每隔多长时间自动进行一次检测预览帧。这也好办实施如下:


}

我要回帖

更多关于 手机拍照不能用怎么办 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信