Android+OpenCV实现轨迹识别

本文介绍了使用Android和OpenCV实现轨迹识别的过程,通过抓取屏幕点并进行坐标发送。虽然尝试了曲线拟合,但在处理复杂图形时效果不理想,需要进一步研究优化。
摘要由CSDN通过智能技术生成

    最近在帮朋友搞一个APP,实现:在屏幕上画一条轨迹,然后将各个坐标通过蓝牙发送到下位机。当然,这个坐标是有顺序的,难点也在这里。

    方法一:抓取屏幕点,并实时发送到下位机(已实现)。

	public boolean onTouchEvent(MotionEvent event)
	{
		// 获取触点位置
		float x = event.getX();
		float y = event.getY();
<span style="white-space:pre">		</span>point[0]=x;
<span style="white-space:pre">		</span>point[1]=y;
                ...
                ...
        }
当然了,在这个类里面得定义为public static 变量:
<pre name="code" class="java">public static float[] point=new float[2];
在Client里面,我们开启一个发送数据线程:
		DeliveryThread = new Thread(this);// 连接上了就开始传输吧
		DeliveryThread.start();
重写Runnable接口:

 
	@Override
	public void run() {
		// TODO Auto-generated method stub
		while (true) {

			try {
				float[] p = DrawView.point;
				byte[] buf0 = intToByteArray((int) p[0]);
				byte[] buf1 = intToByteArray((int) p[1]);
				byte[] buf = new byte[8];
				for (int i = 0; i < 3; i++) {
					buf[i] = buf0[i];
				}
				for (int i = 0; i < 3; i++) {
					buf[i + 4] = buf1[i];
				}

				Log.i("tag", ".." + buf.length &#
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值