บทเรียน Python เทคนิคการดึง Pull Face ใบหน้าจากภาพถ่าย ดึงใบหน้าจำแนกรายบุคคล Face Recognition เพื่อนำ Resources ไปประมวลผลอีกที
จากบทเรียนก่อนหน้านี้ การประมวลผลรู้จำใบหน้า Face Recognition ด้วย Python
เราจะรู้ว่าวิธีการ len ค่าของใบหน้าเพื่อนับจำนวนใบหน้าจากภาพถ่ายนั้นไม่ได้ยากมากนัก รอบนี้เราจะลองดึงข้อมูลสำหรับนำไปประกอบการประมวลผลใบหน้าให้ดีขึ้นนั่นคือการ Pull Face ออกจากภาพถ่าย ผ่าน Face Recognition และ Python
เราจะใช้ภาพถ่ายเดิมคือ beegees.jpg
ให้สร้างไฟล์ Python มาใหม่ใน Visual Studio Code ชื่อว่า test.py หรืออะไรก็ได้ ให้เราเรียก Library ตัวนี้มาใช้คือ Python Imaging Library หรือ PIL เป็นชุดจัดการและประมวลผลรูปภาพกราฟิก โดยเราประกาศการใช้งานและเก็บตัวแปรไว้ตามนี้:
from PIL import Image
หลังจากนั้นให้เราเรียก face_regognition มาใช้งาน
import face_recognition
ทำการประมวลผลเรียกรูปภาพมาเก็บในตัวแปร image แล้วให้เราใช้ face locations จาก face_regcognition ให้เรียบร้อยเพื่อจะได้รู้ตำแหน่งใบหน้าของแต่ละหน้า
image = face_recognition.load_image_file('./beegees.jpg') face_locations = face_recognition.face_locations(image)
เราจะทำการ Pull Face ใบหน้าออกมาโดยอ้างอิงตำแหน่ง top, right, bottom, left ของใบหน้า สร้างตัวแปร f ขึ้นมาเพื่อวนซ้ำจำนวน face_location ของแต่ละหน้า โดยอ้างอิงตำแหน่งที่ว่า แล้วให้เราสร้างตัวแปร face_img ขึ้นมาดึง Crop จาก top:bottom และ left:right ให้เรียบร้อย แล้วยัดคำสั่งประมวลผลภาพสร้างภาพใหม่ผ่าน PIL ให้แสดง
for f in face_locations: top, right, bottom, left = f face_img = image[top:bottom, left:right] pil_image = Image.fromarray(face_img) pil_image.show()
เวลาจะทดสอบให้ Save ไฟล์ก่อนแล้วไปคลิกที่เมนู Debug เลือก Python
รอประมวลผลแปปนึงเราจะเห็นว่าใบหน้าแต่ละใบหน้าจะถูกดึงออกมา (Pull Face) ของจริง
จะเห็นว่าวิธีการทำ Machine Learning นั้นผ่านการประมวลผลรูปภาพใบหน้าไม่ได้ยากเลย
ฝึก Python เยอะๆ นะครับ
One Comment