内容字号:默认大号超大号

段落设置:取消段首缩进段首缩进

字体设置:切换到微软雅黑切换到宋体

业界资讯软件之家
Win10之家WP之家
iPhone之家iPad之家
安卓之家数码之家
评测中心智能设备
精准搜索请尝试:精确搜索

IT之家学院:使用语义理解来解决智能照相机拍摄人脸问题

2017-8-4 18:04:41来源:IT之家作者:ls0609责编:白猫评论:

感谢IT之家网友 ls0609 的原创投稿

语音识别,语义理解一站式解决之智能照相机(人脸识别,olami)

转载请注明CSDN博文地址:http://blog.csdn.net/ls0609/article/details/76546716

olami sdk实现了把录音或者文字转化为用户可以理解的json字符串从而实现语义理解,用户可以定义自己的语义,通过这种方式可以实现用户需要的语义理解。前面写了两篇语音识别,语义理解的博文,分别是语音在线听书和语音记帐软件,本篇是语音智能照相机。

1.智能照相机的功能

手机后摄像头像素比较高,如果用后设想头对准自己自拍,那么看不到屏幕的情况下怎么知道自己在不在镜头中呢?而本篇做的智能照相机就可以为您解决这个问题。想要做的是这样一个照相机app,可以语音切换摄像头,人脸识别并语音播报识别的人脸是否在屏幕中央,是偏向哪里,当人脸居中的时候,提示用户可以拍照了,用户说“拍照”,“茄子”就会自动抓拍并保存图片在手机中。

抓了两张应用运行时的图片:

IT之家学院:使用语义理解来解决智能照相机拍摄人脸问题

IT之家学院:使用语义理解来解决智能照相机拍摄人脸问题

2.eclipse中的lib目录结构如下

IT之家学院:使用语义理解来解决智能照相机拍摄人脸问题

assets下面的事tts播报的资源文件

libs目录下,

libtts.so tts播报所需的库文件

libspeex.so语音识别所需的库文件

libolamsc.so语音识别所需的库文件

tts.jar tts播报所需的库文件

voicesdk_android.jar语音识别所需的库文件

3.AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.olami"

android:versionCode="1"

android:versionName="1.0" >

<uses-sdk

android:minSdkVersion="8"

android:targetSdkVersion="14" />

<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

<activity

android:name=".MainActivity"

android:label="@string/app_name" >

需要录音,网络,读写sd卡,拍照等权限。

4.layout布局<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent">

<FrameLayout

android:layout_width="match_parent"

android:layout_height="match_parent">

<SurfaceView android:id="@+id/sView"

android:layout_width="match_parent"

android:layout_height="wrap_content"/>

<com.olami.FaceView

android:id="@+id/faceView"

android:layout_width="match_parent"

android:layout_height="match_parent"/>

<Button

android:id="@+id/btn_start"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

android:layout_centerHorizontal="true"

android:text="开始" />

在surfaceview中自定义了一个FaceView,faceview用来显示抓拍的人脸。

屏幕最下方有个button,因为这个版本暂时不支持语音唤醒功能(后续添加后再更新),添加一个button用于用户想随时说拍照的时候点击触发用。

5.MainActivity.java和FaceView.java- 1.MainActivity.Java

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.layout_camera);

initHandler();//用于处理录音状态回调的消息

initView();

相关文章

关键词:语义理解程序员

IT之家,软媒旗下科技门户网站 - 爱科技,爱这里。

Copyright (C)RuanMei.com, All Rights Reserved.

软媒公司版权所有