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] คือมุมของขอบตาขวาดานใน
   172   173   174   175   176   177   178   179   180   181   182