通过GestureOverlayView手势库来识别手写的字

2024-05-30 06:32

本文主要是介绍通过GestureOverlayView手势库来识别手写的字,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MainActivity 文件

package qianfeng.gesture;import android.gesture.Gesture;
import android.gesture.GestureLibraries;
import android.gesture.GestureLibrary;
import android.gesture.GestureOverlayView;
import android.gesture.Prediction;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ImageView;import java.io.File;
import java.util.ArrayList;public class Main4Activity extends AppCompatActivity {private static final String TAG = "Main4Activity";private GestureOverlayView mGestureOverlay;private ImageView mImage1,mImage2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main4);mGestureOverlay = (GestureOverlayView) findViewById(R.id.overlay);mImage1 = (ImageView) findViewById(R.id.images1);mImage2 = (ImageView) findViewById(R.id.images2);mGestureOverlay.addOnGesturePerformedListener(new GestureOverlayView.OnGesturePerformedListener() {@Overridepublic void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {//将手势转换成图片显示Bitmap bitmap = gesture.toBitmap(100,100,10, Color.BLUE);mImage1.setImageBitmap(bitmap);GestureLibrary libraries = GestureLibraries.fromFile(Environment.getExternalStorageDirectory().getAbsolutePath()+"/getsure");//加载手势库if(libraries.load()){Log.e(TAG,"load");}else{Log.e(TAG,"load error");}//返回的一堆 相近的手势ArrayList<Prediction> recognize = libraries.recognize(gesture);//判断相似度if(recognize.size()>0){for (Prediction prediction : recognize){Log.e(TAG,prediction.score+"");//且当 相似度大于10if(prediction.score>10.0f){//手势库通过名称 获取该名称下的所有手势ArrayList<Gesture> gestures = libraries.getGestures(prediction.name);//由于我们的手势 使用的唯一名称 所以只需要判断大于0 获取第0个 就可以if(gestures.size()>0){Gesture gesture_temp = gestures.get(0);Bitmap bitmap1 = gesture_temp.toBitmap(100, 100, 10, Color.RED);mImage2.setImageBitmap(bitmap1);}}}}//添加手势到库libraries.addGesture(String.valueOf(System.currentTimeMillis()),gesture);//保存手势libraries.save();}});}
}

布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"android:orientation="vertical"tools:context="com.qf.gestureoverlayview.MainActivity"><LinearLayout
        android:orientation="horizontal"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"><ImageView
            android:background="#400f"android:id="@+id/img1"android:layout_weight="1"android:layout_width="0dp"android:layout_height="match_parent" /><ImageView
            android:id="@+id/img2"android:layout_weight="1"android:layout_width="0dp"android:layout_height="match_parent"/></LinearLayout><android.gesture.GestureOverlayView
        android:background="#000"android:id="@+id/gest"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:gestureStrokeType="multiple"android:gestureStrokeLengthThreshold="2"></android.gesture.GestureOverlayView>
</LinearLayout>

这篇关于通过GestureOverlayView手势库来识别手写的字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1015819

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

Clion不识别C代码或者无法跳转C语言项目怎么办?

如果是中文会显示: 此时只需要右击项目,或者你的源代码目录,将这个项目或者源码目录标记为项目源和头文件即可。 英文如下:

stl的sort和手写快排的运行效率哪个比较高?

STL的sort必然要比你自己写的快排要快,因为你自己手写一个这么复杂的sort,那就太闲了。STL的sort是尽量让复杂度维持在O(N log N)的,因此就有了各种的Hybrid sort algorithm。 题主你提到的先quicksort到一定深度之后就转为heapsort,这种是introsort。 每种STL实现使用的算法各有不同,GNU Standard C++ Lib

BERN2(生物医学领域)命名实体识别与命名规范化工具

BERN2: an advanced neural biomedical named entity recognition and normalization tool 《Bioinformatics》2022 1 摘要 NER和NEN:在生物医学自然语言处理中,NER和NEN是关键任务,它们使得从生物医学文献中自动提取实体(如疾病和药物)成为可能。 BERN2:BERN2是一个工具,

JS手写实现深拷贝

手写深拷贝 一、通过JSON.stringify二、函数库lodash三、递归实现深拷贝基础递归升级版递归---解决环引用爆栈问题最终版递归---解决其余类型拷贝结果 一、通过JSON.stringify JSON.parse(JSON.stringify(obj))是比较常用的深拷贝方法之一 原理:利用JSON.stringify 将JavaScript对象序列化成为JSO

行为智能识别摄像机

行为智能识别摄像机 是一种结合了人工智能技术和监控摄像技术的先进设备,它能够通过深度学习算法对监控画面进行实时分析,自动识别和分析监控画面中的各种行为动作。这种摄像机在安防领域有着广泛的应用,可以帮助监控人员及时发现异常行为,并采取相应的措施。 行为智能识别摄像机可以有效预防盗窃事件。在商场、超市等公共场所安装这种摄像机,可以通过识别异常行为等情况,及时报警并阻止不安全行为的发生

flutter开发实战-flutter build web微信无法识别二维码及小程序码问题

flutter开发实战-flutter build web微信无法识别二维码及小程序码问题 GitHub Pages是一个直接从GitHub存储库托管的静态站点服务,‌它允许用户通过简单的配置,‌将个人的代码项目转化为一个可以在线访问的网站。‌这里使用flutter build web来构建web发布到GitHub Pages。 最近通过flutter build web,通过发布到GitHu

T1打卡——mnist手写数字识别

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 1.定义GPU import tensorflow as tfgpus=tf.config.list_physical_devices("GPU")if gpus:gpu0=gpus[0]tf.config.experimental.set_memort_groth(gpu0,True) #设置GPU现存用量按需

使用 VisionTransformer(VIT) FineTune 训练驾驶员行为状态识别模型

一、VisionTransformer(VIT) 介绍 大模型已经成为人工智能领域的热门话题。在这股热潮中,大模型的核心结构 Transformer 也再次脱颖而出证明了其强大的能力和广泛的应用前景。Transformer 自 2017年由Google提出以来,便在NLP领域掀起了一场革命。相较于传统的循环神经网络(RNN)和长短时记忆网络(LSTM), Transformer 凭借自注意力机制

T7:咖啡豆识别

T7:咖啡豆识别 **一、前期工作**1.设置GPU,导入库2.导入数据3.查看数据 **二、数据预处理**1.加载数据2.可视化数据3.配置数据集 **三、构建CNN网络模型**1、手动搭建2、直接调用官方模型 **四、编译模型****五、训练模型****六、模型评估****七、预测**八、暂时总结 🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K