Page 177 - python
P. 177
151
ภาพประกอบที่ 11.17 แสดงระยะหางระหวางตาซายและขวา (e1 และ e2)
ั
ตัวอยางที่ 11. 14 การตรวจสอบวาคนในภาพหนหนาไปทางซายหรือขวา
from scipy.spatial import distance
e1 = distance.euclidean(points[39],points[27])
e2 = distance.euclidean(points[42],points[27])
print("ระยะ e1 = %.2f และระยะ e2 = %.2f"%(e1,e2))
threshold = 2
if abs(e1-e2)> threshold:
print("มีการเอียงหนาเกิดขึ้น ยังไมรูวาเอียงไปทางไหน")
if e1 < e2:
print("รูแลว.. คนในภาพหันหนาไปทางซายนั่นเอง")
else:
print("รูแลว.. คนในภาพหันหนาไปทางขวานั่นเอง")
else:
print("ภาพนี้หนาตรง")
ผลลัพธ
ระยะ e1 = 9.49 และระยะ e2 = 15.13
มีการเอียงหนาเกิดขึ้น ยังไมรูวาเอียงไปทางไหน
รูแลว.. คนในภาพหันหนาไปทางซายนั่นเอง
ตัวอยางที่ 11.15 การตรวจสอบระยะจุดสองจุดจะใชคําสั่ง distance ภายในโมดูล scipy ตัวแปร
e1 เปนระยะหางระหวางตาซายถึงกึ่งกลางระหวางคิ้ว ตัวแปร e2 เปนระยะหางตาขวาถึงกึ่งกลางระหวาง
คิ้ว เมื่อ points[27] คือตําแหนงกึ่งกลางระหวางคิ้ว มีคาเปน 27 เนื่องจากในภาพเริ่มตนนับที่จุดที่ 1 แต
ในภาษาไพธอนจะเริ่มตัวเลขลําดับที่ 0 ดังนั้น จึงลดคาจากจุด 28 เปนลําดับที่ 27 ตําแหนงที่ points[39]
คือ มุมของขอบตาซายดานในและ points[42] คือมุมของขอบตาขวาดานใน