我们将在这篇文章中使用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
参考资料
附加命理知识
手相又称掌相,是一种以手掌的形态和纹理去推论运程的占卜法,中国、西方、吉卜赛都有这种学问。现代手相学主要研究人的心理状态
纹状一般分为清掌与浊掌,再分四大主体,即:人字掌(五十二种型态)、爪字掌(三十三种型态)、川字掌(七十六种型态)、断掌(十八种型态)。
主线有:生命线、智慧线、感情线、 命运线(亦称事业线)等
手诊是一门历史悠久的诊断学科。在东西方医学中都可以找到研究痕迹和成果,手诊在当代已经成为专门的学科,广泛应用于生活。
手诊的概念就是指通过人体手的纹路形态、变化、规律等方式,对人体器官的演变作出推理的一种防治辅助手段。