利用opencv借取相机摄像头为手机和电脑添加手势或者体感操控

栏目: 编程工具 · 发布时间: 6年前

内容简介:在展示PPT和产品发发布时,或者看电影时如果能用手势操作切换会十分方便。这里使用opencv的开源技术,轻松实现这一功能需求。我很久以前曾经写一个篇被动摄像头的文章,捕捉到摄像头中有移动的物体时,开始录相,移动消失,不再录相。这样具有简单智能的摄像头,可以为客户节省很多的磁盘空间。本文在捕捉运动物体的基础上实现手势操作。原文代码如下:本文基于上一文的技术做手势或者体感识别。前提是我们能够捕捉到动态物体。有一批运行物体的坐标,我们就能根据坐标算出物体运行的方向和速度和方向。其实手势操作也非常简单,就是坐标转

在展示PPT和产品发发布时,或者看电影时如果能用手势操作切换会十分方便。这里使用opencv的开源技术,轻松实现这一功能需求。我很久以前曾经写一个篇被动摄像头的文章,捕捉到摄像头中有移动的物体时,开始录相,移动消失,不再录相。这样具有简单智能的摄像头,可以为客户节省很多的磁盘空间。本文在捕捉运动物体的基础上实现手势操作。原文代码如下: https://blog.csdn.net/cnbloger/article/details/77513514 ,在原代码中,我对捕捉到的动态物体做了一些染色等特效变幻。

本文基于上一文的技术做手势或者体感识别。前提是我们能够捕捉到动态物体。有一批运行物体的坐标,我们就能根据坐标算出物体运行的方向和速度和方向。其实手势操作也非常简单,就是坐标转换。以最简单的手势手上下左右摇动切换文件为例。需要把手部的运动转为向左,向右,向上,向下四个方向的指令。如果准确的获取方向,我们先通过摄像头捕捉到手部运行的第一帧图像和最后一帧图像,有两种算法都可以计算到方向。

1.用最后一帧手的位置减去第一帧手的位置,屏幕坐标是左手坐标系,原点在左上角,x轴正方面向右,Y轴正方向向下,如果手向右,得得值必大于0,向左小于0,向上小于0,向下大于0,由于手的移动和捕捉不是精密仪器,必然会有误差。再比较横向位移竖向位移大小,可以确定手的方向。

2.第二种方法比较简单,在屏幕中央设定一个矩形的区域用来做为方向判断区域,捕捉到手的最后一帧或者所有帧的手的位置,一旦位置的x超出左边界,手势向左,一旦超超过右边界,手势向右,超过上边界,手势向上,超过下边界,手势向下。

两种算法代码如下,1为左,2为右,3为上,4为下,opencv 支持C,C++,python,jAVA和各种系统,使得可以移植在各种平台,这里只展示 JAVA 代码:

public static int getDirect2(Point lastPoint, Point firstPoint) {
		if (firstPoint != null && lastPoint != null) {
			int x = (int) (lastPoint.x - firstPoint.x);
			int y = (int) (lastPoint.y - firstPoint.y);

			if (x > y) {
				if (x > 200) {
					return 1;
				} else if (x < -200) {
					return 2;
				} else {
					return 0;
				}
			} else {
				if (y > 200) {
					return 3;
				} else if (y < -200) {
					return 4;
				} else {
					return 0;
				}
			}
		} else {
			return 0;
		}
	}
	public static int getDirect3(Point point) {

		if ((point.x - left) < -1f) {
			return 1;
		} else if ((point.x - right) > (1f+50)) {
			return 2;
		} else if ((point.y - up) < -1f) {
			return 3;
		} else if ((point.y - down) > (1f+50)) {
			return 4;
		}

		return 0;
	}

运行效果:

利用opencv借取相机摄像头为手机和电脑添加手势或者体感操控 利用opencv借取相机摄像头为手机和电脑添加手势或者体感操控 利用opencv借取相机摄像头为手机和电脑添加手势或者体感操控 利用opencv借取相机摄像头为手机和电脑添加手势或者体感操控


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

构建之法(第三版)

构建之法(第三版)

邹欣 / 人民邮电出版社 / 2017-6 / 69.00元

软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较空洞乏味的课程。 但是,软件工程 的技术对于投身 IT 产业的学生来说是非常重要的。作者有在世界一流软件企业 20 年的一线软件开 发经验,他在数所高校进行了多年的软件工程教学实践,总结出了在 16 周的时间内让同学们通过 “做 中学 (Learning By Doing)” 掌握实用的软件工程技术的教学计划,并得到高校师生的积极反馈。在此 ......一起来看看 《构建之法(第三版)》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具