CN105741263A - 一种手轮廓提取及定向算法 - Google Patents
一种手轮廓提取及定向算法 Download PDFInfo
- Publication number
- CN105741263A CN105741263A CN201610038144.5A CN201610038144A CN105741263A CN 105741263 A CN105741263 A CN 105741263A CN 201610038144 A CN201610038144 A CN 201610038144A CN 105741263 A CN105741263 A CN 105741263A
- Authority
- CN
- China
- Prior art keywords
- pixel
- image
- profile
- handwheel
- exterior feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20182—Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种手轮廓提取及定向算法。传统手边缘提取算法得到的图像轮廓都很粗糙,无法满足手三维建模的要求。本发明依次包括如下步骤:图像平滑处理、Sobel算子提取手轮廓粗糙图像、找手轮廓粗糙图像中最长轮廓作为手轮廓、手朝向定位。本发明能够精确地提取图像中手的轮廓,去除图像上其他物体或是噪声的干扰,并对手指朝向在图像上定位。
Description
技术领域
本发明属于图像处理领域,涉及一种图像边缘提取的算法,具体涉及一种手轮廓提取及定向算法。
背景技术
在图像处理领域中,手势识别是一个讨论较多的话题。传统的手势识别一般都是在二维的平面上进行的,这样的方法有一个缺点就是无法识别手在第三维(z轴)上的运动情况。为了克服这样的困难,首先需要对手进行三维建模,而在三维建模的过程中一个重要的步骤就是手的边缘精确提取。传统的算法比如Canny算子、Sobel算子得到的图像轮廓都很粗糙,包含较多的噪声或是其他物体的轮廓,这显然无法满足手三维建模的要求。
发明内容
本发明的目的是针对现有图像边缘提取存在的不足,提供一种手轮廓提取及定向算法,能够精确地提取图像中手的轮廓,去除图像上其他物体或是噪声的干扰,并对手指朝向在图像上定位。
本发明解决技术问题所采取的技术方案如下:
本发明依次包括如下步骤:图像平滑处理、Sobel算子提取手轮廓粗糙图像、找手轮廓粗糙图像中最长轮廓作为手轮廓、手朝向定位,具体如下:
步骤1、对摄像机获取的原始图像进行图像平滑处理,获得预处理图像;图像平滑处理使用高斯平滑滤波,选取的5*5高斯掩膜如下:
步骤2、对步骤一获得的预处理图像使用Sobel算子提取出手轮廓粗糙图像,手轮廓粗糙图像上的轮廓包括手轮廓和其它物体的轮廓,具体如下:记预处理图像为A,那么图像A上某一像素点的水平和垂直方向的梯度分别为:
则该像素点的梯度值针对手的特征设置预设值,当某像素点的G值大于预设值时,就将该像素点作为手轮廓粗糙图像的一个边缘点。计算图像A上每一个像素点的梯度值,这样就得到了手轮廓粗糙图像。
步骤3、将手轮廓粗糙图像中最长轮廓作为手的轮廓,并去除手轮廓粗糙图像中与手轮廓无关的点,具体如下:
3.1:以手轮廓粗糙图像的左上角为起点按照从上到下、从左到右的顺序扫描每一个像素点直到找到一条轮廓上的像素点A1,该像素点满足要求q:该像素点作为3*3九宫格中心点时,周围的8个像素点仅有一个是轮廓上的像素点B1;3*3九宫格内包含三行像素点,每行包括三个像素点。
3.2:将像素点A1作为轮廓的起始点,并记录下像素点A1的坐标;
3.3:将像素点B1作为像素点A1的后继点,并且将像素点B1作为新的3*3九宫格的中心点,按照搜索路径P进行遍历,搜索路径P如下:从上往下、从左往右的顺序在当前3*3九宫格内选取除前一个3*3九宫格中心点外的第一个像素点C1,同时记录下当前3*3九宫格内除当前3*3九宫格中心点和前一个3*3九宫格中心点以外其余像素点的坐标以便按照搜索路径P回溯遍历这些点。对像素点C1和需要回溯遍历的点均按照搜索路径P进行遍历,每次遍历以遇到满足要求q的一个像素点为结束条件,并记录下该次遍历的像素点个数;这样便找出了以像素点A1为起始点的所有轮廓及每条轮廓的长度;
3.4:继续按照从上到下、从左到右的顺序扫描出满足要求q的各条轮廓上的像素点,并对每个满足要求q的像素点重复步骤3.2~3.3;
3.5:比较经步骤3.1~3.4得到的每条轮廓的像素点个数,像素点个数最多则长度最长,以长度最长的那一条轮廓作为手轮廓,去除手轮廓粗糙图像上除最长轮廓上的像素点以外的其它像素点,这样便得到了手轮廓精确图像。
步骤4、设手轮廓的起始点为E(x0,y0),那么从E(x0,y0)开始沿手轮廓向后推移5个像素点记为F(x1,y1),线段EF的斜率为:
然后以F为参照点沿手轮廓向后推移5个点记为G(x2,y2),求出线段FG的斜率k2。依次类推,直到ki-1*ki为负值时停止计算,并将此时的ki记为kn,其中,2≤i≤N,N为手轮廓上像素点的个数。取k1,k2,...,kn的平均值K作为手朝向的斜率,则手朝向与水平轴的夹角为:
β=arctanK。
本发明具有的有益效果:
本发明能够精确地提取图像中手的轮廓,去除图像上其他物体或是噪声的干扰,并对手指朝向在图像上定位。
附图说明
图1为本发明经过Sobel算子处理后的手轮廓粗糙图像。
图2为本发明提取的手轮廓精确图像。
具体实施方式
下面结合附图对本发明作进一步说明。
一种手轮廓提取及定向算法,依次包括如下步骤:图像平滑处理、Sobel算子提取手轮廓粗糙图像、找手轮廓粗糙图像中最长轮廓作为手轮廓、手朝向定位,具体如下:
步骤1、对摄像机获取的原始图像进行图像平滑处理,获得预处理图像,此处的图像平滑处理使用高斯平滑滤波。一般的图像都含有高斯白噪声,若直接对该图像进行处理会产生不必要的误差和增加后续处理的计算量。太大或是太小的掩膜都会影响去噪的效果。本发明选取了5*5的高斯掩膜,并且针对于手反复试验和比较得到了最优的高斯掩膜如下:
步骤2、对步骤一获得的预处理图像使用Sobel算子提取出手轮廓粗糙图像,手轮廓粗糙图像上的轮廓包括手轮廓和其它物体的轮廓,具体如下:记预处理图像为A,那么图像A上某一像素点的水平和垂直方向的梯度分别为:
则该像素点的梯度值针对手的特征设置预设值TH,当某像素点的G值大于预设值TH时,就将该像素点作为手轮廓粗糙图像的一个边缘点。计算图像A上每一个像素点的梯度值,这样就得到了手轮廓粗糙图像,如图1所示,图1中的虚线外框仅表示手轮廓粗糙图像的边界,不是手轮廓粗糙图像上的轮廓。
步骤3、经过上述步骤后,手的轮廓最大程度地被留在手轮廓粗糙图像上,而其他物体的轮廓则基本去除。这样就可以将手轮廓粗糙图像中最长轮廓作为手的轮廓,并去除手轮廓粗糙图像中与手轮廓无关的点,具体如下:
3.1:以手轮廓粗糙图像的左上角为起点按照从上到下、从左到右的顺序扫描每一个像素点直到找到一条轮廓上的像素点A1,该像素点满足要求q:该像素点作为3*3九宫格(3*3九宫格内包含三行像素点,每行包括三个像素点)中心点时,周围的8个像素点仅有一个是轮廓上的像素点B1;
3.2:将像素点A1作为轮廓的起始点,并记录下像素点A1的坐标;
3.3:将像素点B1作为像素点A1的后继点,并且将像素点B1作为新的3*3九宫格的中心点,按照搜索路径P进行遍历,搜索路径P如下:从上往下、从左往右的顺序在当前3*3九宫格内选取除前一个3*3九宫格中心点外的第一个像素点C1,同时记录下当前3*3九宫格内除当前3*3九宫格中心点和前一个3*3九宫格中心点以外其余像素点的坐标以便按照搜索路径P回溯遍历这些点。对像素点C1和需要回溯遍历的点均按照搜索路径P进行遍历,每次遍历以遇到满足要求q的一个像素点为结束条件,并记录下该次遍历的像素点个数;这样便找出了以像素点A1为起始点的所有轮廓及每条轮廓的长度;
3.4:继续按照从上到下、从左到右的顺序扫描出满足要求q的各条轮廓上的像素点,并对每个满足要求q的像素点重复步骤3.2~3.3;
3.5:比较经步骤3.1~3.4得到的每条轮廓的像素点个数,像素点个数最多则长度最长,以长度最大的那一条轮廓作为手轮廓,去除手轮廓粗糙图像上除最长轮廓上的像素点以外的其它像素点,这样便得到了手轮廓精确图像,如图2所示,图2中的虚线外框仅表示手轮廓精确图像的边界,不是手轮廓精确图像上的轮廓。
步骤4、设手轮廓的起始点为E(x0,y0),那么从E(x0,y0)开始沿手轮廓向后推移5个像素点记为F(x1,y1),那么线段EF的斜率为:
然后以F为参照点沿手轮廓向后推移5个点记为G(x2,y2),求出线段FG的斜率k2。依次类推,直到ki-1*ki为负值时停止计算,并将此时的ki记为kn,其中,2≤i≤N,N为手轮廓上像素点的个数。取k1,k2,...,kn的平均值K作为手朝向的斜率,则手朝向与水平轴的夹角为:
β=arctanK
那么手的朝向就大致可以使用β来表示了。
Claims (1)
1.一种手轮廓提取及定向算法,其特征在于:该方法依次包括如下步骤:图像平滑处理、Sobel算子提取手轮廓粗糙图像、找手轮廓粗糙图像中最长轮廓作为手轮廓、手朝向定位,具体如下:
步骤1、对摄像机获取的原始图像进行图像平滑处理,获得预处理图像;图像平滑处理使用高斯平滑滤波,选取的5*5高斯掩膜如下:
步骤2、对步骤一获得的预处理图像使用Sobel算子提取出手轮廓粗糙图像,手轮廓粗糙图像上的轮廓包括手轮廓和其它物体的轮廓,具体如下:记预处理图像为A,那么图像A上某一像素点的水平和垂直方向的梯度分别为:
则该像素点的梯度值针对手的特征设置预设值,当某像素点的G值大于预设值时,就将该像素点作为手轮廓粗糙图像的一个边缘点;计算图像A上每一个像素点的梯度值,这样就得到了手轮廓粗糙图像;
步骤3、将手轮廓粗糙图像中最长轮廓作为手的轮廓,并去除手轮廓粗糙图像中与手轮廓无关的点,具体如下:
3.1:以手轮廓粗糙图像的左上角为起点按照从上到下、从左到右的顺序扫描每一个像素点直到找到一条轮廓上的像素点A1,该像素点满足要求q:该像素点作为3*3九宫格中心点时,周围的8个像素点仅有一个是轮廓上的像素点B1;3*3九宫格内包含三行像素点,每行包括三个像素点;
3.2:将像素点A1作为轮廓的起始点,并记录下像素点A1的坐标;
3.3:将像素点B1作为像素点A1的后继点,并且将像素点B1作为新的3*3九宫格的中心点,按照搜索路径P进行遍历,搜索路径P如下:从上往下、从左往右的顺序在当前3*3九宫格内选取除前一个3*3九宫格中心点外的第一个像素点C1,同时记录下当前3*3九宫格内除当前3*3九宫格中心点和前一个3*3九宫格中心点以外其余像素点的坐标以便按照搜索路径P回溯遍历这些点;对像素点C1和需要回溯遍历的点均按照搜索路径P进行遍历,每次遍历以遇到满足要求q的一个像素点为结束条件,并记录下该次遍历的像素点个数;这样便找出了以像素点A1为起始点的所有轮廓及每条轮廓的长度;
3.4:继续按照从上到下、从左到右的顺序扫描出满足要求q的各条轮廓上的像素点,并对每个满足要求q的像素点重复步骤3.2~3.3;
3.5:比较经步骤3.1~3.4得到的每条轮廓的像素点个数,像素点个数最多则长度最长,以长度最长的那一条轮廓作为手轮廓,去除手轮廓粗糙图像上除最长轮廓上的像素点以外的其它像素点,这样便得到了手轮廓精确图像;
步骤4、设手轮廓的起始点为E(x0,y0),那么从E(x0,y0)开始沿手轮廓向后推移5个像素点记为F(x1,y1),线段EF的斜率为:
然后以F为参照点沿手轮廓向后推移5个点记为G(x2,y2),求出线段FG的斜率k2;依次类推,直到ki-1*ki为负值时停止计算,并将此时的ki记为kn,其中,2≤i≤N,N为手轮廓上像素点的个数;取k1,k2,...,kn的平均值K作为手朝向的斜率,则手朝向与水平轴的夹角为:
β=arctanK。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610038144.5A CN105741263A (zh) | 2016-01-20 | 2016-01-20 | 一种手轮廓提取及定向算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610038144.5A CN105741263A (zh) | 2016-01-20 | 2016-01-20 | 一种手轮廓提取及定向算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105741263A true CN105741263A (zh) | 2016-07-06 |
Family
ID=56246344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610038144.5A Pending CN105741263A (zh) | 2016-01-20 | 2016-01-20 | 一种手轮廓提取及定向算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105741263A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108242061A (zh) * | 2018-02-11 | 2018-07-03 | 南京亿猫信息技术有限公司 | 一种基于Sobel算子的超市购物车手部识别方法 |
CN110927706A (zh) * | 2019-12-10 | 2020-03-27 | 电子科技大学 | 基于卷积神经网络的雷达干扰检测识别方法 |
CN110930919A (zh) * | 2019-11-20 | 2020-03-27 | 深圳吉迪思电子科技有限公司 | 图像处理方法和显示驱动装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982308A (zh) * | 2012-08-03 | 2013-03-20 | 成都众合云盛科技有限公司 | 中远距离在线身份验证研究中的掌纹采集与定位方法 |
CN105005769A (zh) * | 2015-07-08 | 2015-10-28 | 山东大学 | 一种基于深度信息的手语识别方法 |
CN105163076A (zh) * | 2015-08-31 | 2015-12-16 | 国家电网公司 | 采用横向扫描映射的变电站断路器状态视频智能分析算法 |
-
2016
- 2016-01-20 CN CN201610038144.5A patent/CN105741263A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982308A (zh) * | 2012-08-03 | 2013-03-20 | 成都众合云盛科技有限公司 | 中远距离在线身份验证研究中的掌纹采集与定位方法 |
CN105005769A (zh) * | 2015-07-08 | 2015-10-28 | 山东大学 | 一种基于深度信息的手语识别方法 |
CN105163076A (zh) * | 2015-08-31 | 2015-12-16 | 国家电网公司 | 采用横向扫描映射的变电站断路器状态视频智能分析算法 |
Non-Patent Citations (4)
Title |
---|
QIU TIAN 等: "An Auto-adaptive Edge Detection Algorithm for Flame and Fire Image Processing", 《IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT》 * |
任海兵 等: "复杂背景下的手势分割与识别", 《自动化学报》 * |
张蔚 等: "手形识别中手形处理方法的研究", 《科技资讯》 * |
邓伟 等: "基于改进链码的新型手形图像分割方法", 《电子测量技术》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108242061A (zh) * | 2018-02-11 | 2018-07-03 | 南京亿猫信息技术有限公司 | 一种基于Sobel算子的超市购物车手部识别方法 |
CN108242061B (zh) * | 2018-02-11 | 2022-04-08 | 南京亿猫信息技术有限公司 | 一种基于Sobel算子的超市购物车手部识别方法 |
CN110930919A (zh) * | 2019-11-20 | 2020-03-27 | 深圳吉迪思电子科技有限公司 | 图像处理方法和显示驱动装置 |
CN110927706A (zh) * | 2019-12-10 | 2020-03-27 | 电子科技大学 | 基于卷积神经网络的雷达干扰检测识别方法 |
CN110927706B (zh) * | 2019-12-10 | 2022-05-24 | 电子科技大学 | 基于卷积神经网络的雷达干扰检测识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107578418B (zh) | 一种融合色彩和深度信息的室内场景轮廓检测方法 | |
CN106803067B (zh) | 一种人脸图像质量评估方法及装置 | |
CN105046694B (zh) | 一种基于曲面拟合系数特征的点云快速配准方法 | |
CN103955945B (zh) | 基于双目视差和活动轮廓的自适应彩色图像分割方法 | |
CN107622480B (zh) | 一种Kinect深度图像增强方法 | |
CN104809698A (zh) | 一种基于改进三边滤波的Kinect深度图像修复方法 | |
CN104331869B (zh) | 梯度与曲率相结合的图像平滑方法 | |
CN107369204B (zh) | 一种从单幅照片恢复出场景基本三维结构的方法 | |
CN105335997A (zh) | 一种基于泊松重构的复杂结构点云处理算法 | |
CN103383776A (zh) | 一种基于分段匹配和贝叶斯估计的递进式立体匹配算法 | |
CN104036481B (zh) | 一种基于深度信息提取的多聚焦图像融合方法 | |
CN105913407A (zh) | 一种基于差值图对多聚焦度图像融合优化的方法 | |
CN105741263A (zh) | 一种手轮廓提取及定向算法 | |
CN102831584A (zh) | 一种数据驱动的物体图像修复系统及方法 | |
CN106447640A (zh) | 基于字典学习、旋转引导滤波的多聚焦图像融合方法及装置 | |
CN110782385A (zh) | 一种基于深度学习的图像水印的去除方法 | |
CN103150725B (zh) | 基于非局部均值的susan边缘检测方法及系统 | |
CN106780309A (zh) | 一种合成孔径雷达图像拼接方法 | |
CN104992176B (zh) | 一种面向碑文的汉字提取方法 | |
CN104850232A (zh) | 一种摄像头条件下获取远程手势轨迹的方法 | |
CN104036517A (zh) | 一种基于梯度采样的图像抠图方法 | |
CN107133964A (zh) | 一种基于Kinect的抠像方法 | |
CN104778673A (zh) | 一种改进的高斯混合模型深度图像增强算法 | |
CN108520550B (zh) | 基于噪声分类与mls的点云数据泊松曲面重建方法 | |
CN115908459B (zh) | 一种图像分割方法、装置、计算机设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160706 |