使用机器学习opencv看手相
摘要:本文介绍一种发明专利,使用opencv看手相。不是开玩笑,这是国际会议发表的正规文章2020 Fourth International Conference on Inventive Systems and Control (ICISC)
该项目设计并实现了一个python程序,以找出手掌颜色、手指之间的间距,并使用动态编程,机器学习,计算机视觉概念和OpenCV等库来检测手掌线。
第一步是查找手指间距
为了找到手指之间在放松位置的间距,作者提出找到指尖上的特殊点,然后使用简单的距离公式或欧几里得距离公式计算它们之间的距离。
输入图像的轮廓和凸包以绿色和蓝色显示。因此,将记录凸面等于轮廓的所有点。
找到所有点后,将在一个小区域内出现一组点,因此取 20 像素范围内所有点的平均值,然后取所有这些点的平均值。
第二步是确定手掌的颜色
使用K-means聚类无监督机器学习算法来确定手掌的颜色。
第三步是查找手掌纹
使用在使用机器学习算法查找颜色的第二步中获得的手掌感兴趣区域。
首先将其调整为标准大小。我们拍摄了 250 x 250 像素。我们将此图像转换为灰度,并使用OpenCV应用直方图均衡以增强对比度。均衡后,随着对比度的增加,可能会出现很多噪点。因此,对图像进行平滑处理是为了消除不需要的噪点。可以进行任何其他过程来消除膨胀和侵蚀等噪音以及平滑。
在此平滑步骤之后,图像适合边缘检测器。
输出中有很多噪声。我们知道最左上角没有线,因此是无用的,同样最右下角通常没有主线,所以这部分也是无用的,所以我们使用三角形和矩形窗口将其删除。
执行像素的正方形放大以使检测到的线条清晰可见。我们已将每个白色像素转换为 3 x 3 像素,以保持图像大小不变。
有些人发现手相学有用,而有些人则没有。手指之间的间距和手掌线的检测可能有助于预测未来和人的职业、财富、生活等特征。
但是手掌的颜色有助于卫生部门和研究实验室发现人的疾病。不同颜色的手掌告诉一个人可能患有或可能不患有的不同状况和疾病。让我们从几种主要颜色中找出一些预测和疾病。
-
粉色 – 脾气暴躁,身体健康。
-
红色 – 血压问题,深红色表示一个人可能患有与神经有关的疾病。
-
蓝色 – 血液循环不良、胸口窘迫、呼吸急促、心脏病、
-
黄色 – 胆囊和胰腺相关疾病,胆管相关问题。
-
白 – 脾气暴躁、贫血、可能患有白血病和出血过多。
-
黑色 – 血液循环不良、高血压和胃病。
精确确定手掌颜色可以了解某人可能患有的疾病。因此,它在采取预防措施时很有用。手掌线也可用于查找用于安全目的的掌纹。
在这个项目中,作者确定了手相学中使用的三个要素来预测未来,并告诉手指间距的行为和特征,手掌的颜色,并检测三条主要的手掌线。
花生评论:既然老外都已经上升到机器视觉的角度了,那么我们大街上哪些看手相的,是不是可以建立一个知识库,真的训练统一的模型出来呢?
参考文献:使用机器学习和 OpenCV 的手相测量 |IEEE会议出版物 |IEEE Xplore