python基于opencv工具掌纹主线提取
我们将在这篇文章中使用Python和OpenCV库来找出我们手掌中的主线。
首先,让我们读取原始图像:
import cv2 image = cv2.imread("palm.jpg") cv2.imshow("palm",image) #to view the palm in python cv2.waitKey(0)
现在我们将图像转换为灰度:
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
现在我们将使用名为Canny Edge Detector的过滤算法来查找掌纹。 对于不同的图像,我们需要相应地更改参数。
edges = cv2.Canny(gray,60,65,apertureSize = 3) cv2.imshow("edges",edges) cv2.waitKey(0)
现在我们将反转颜色,以保证识别的线条是黑色的:
edges = cv2.bitwise_not(edges) cv2.imshow("change black and white",edges) cv2.waitKey(0)
现在,我们将上面的图像与原始图像混合在一起。
cv2.imwrite("palmlines.jpg", edges) palmlines = cv2.imread("palmlines.jpg") img = cv2.addWeighted(palmlines, 0.3, image, 0.7, 0) cv2.imshow("lines in palm", img) cv2.waitKey(0)
完整代码参见: https://github.com/china-testing/python-api-tesing/blob/master/shouxiang/hand.py
参考资料
附加命理知识
手相又称掌相,是一种以手掌的形态和纹理去推论运程的占卜法,中国、西方、吉卜赛都有这种学问。现代手相学主要研究人的心理状态
纹状一般分为清掌与浊掌,再分四大主体,即:人字掌(五十二种型态)、爪字掌(三十三种型态)、川字掌(七十六种型态)、断掌(十八种型态)。
主线有:生命线、智慧线、感情线、 命运线(亦称事业线)等
手诊是一门历史悠久的诊断学科。在东西方医学中都可以找到研究痕迹和成果,手诊在当代已经成为专门的学科,广泛应用于生活。
手诊的概念就是指通过人体手的纹路形态、变化、规律等方式,对人体器官的演变作出推理的一种防治辅助手段。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java的多态浅谈
Java的多态浅谈概述Java的四大基本特性:抽象,封装,继承和多态。其中,抽象,封装,继承可以说多态的基础,而多态是封装,继承的具体表现。如果非要用专业术语来描述什么是多态的话 多态是指程序中定义的引用变量所指向具体类型和通过该引用变量发出的方法调用在编译的时候并不确定,而是程序运行期间才确定,就是说一个引用变量到底指向哪一个类的实例对象,该引用变量发出的方法调用哪一个类的中的方法,必须在程序运行期间才能确定。记得大学时老师讲多态举的一个例子:上课铃响了,同学们都回各自教室上课,这就是多态。这就完了?如果是刚接触编程的同学来说,估计都懵逼了,我们那时就是这种状态。接下来我们用代码实现下老师说的意思。 多态实例//上课铃响了public class Ring{ public void ringSound() { System.out.println("我是铃声!!!"); } }1班的同学听到铃声回去上语文课 public class ClassRoom1 extends Ring{ public void ringSound() { System.out.println("class...
- 下一篇
学web前端从哪里开始学起呢-好程序员
当你开始的时候,JavaScript让编写代码变得真正容易,这是非常有效的。定义一个函数,调用它...已经被多次问到,如果我刚刚开始,我首先应当学习什么编程语言?答案一定是JavaScript。 至于“为什么学web前端,要从JavaScript开始学起”v实际上是编写代码相关的所有其它方面的东东。你能够更快地编写代码(至少在你开始学习的时候),在我看来就是一个胜利。每个人都可以访问web浏览器,这意味着每个人现在也能访问一个简单的开发环境了。 如果你在使用Mac下的Chrome,按快捷键cmd-opt-j。就来到了控制台,现在你就可以开始编写JavaScript并管理你看到的网页了。真不错。还有大量的在线编辑器和工具,比如CodePen,JSFiddle,让你在浏览器搭建更为完整的开发/测试/原型环境。 2、简单:当你开始的时候,JavaScript让编写代码变得真正容易,这是非常有效的。定义一个函数,调用它。写个循环。忽略DOM (事实上,也差不多完全忽略了web),只关心简单的逻辑。开始建立对象和数组。JS里的OO模型稍微有些奇怪(特别是对于类和继承),不过还好,你需要灵活些,不...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7设置SWAP分区,小内存服务器的救世主