เขียน Python จัดการภาพภาย crop ภาพถ่ายเอาเฉพาะใบหน้า

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 40891
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

เขียน Python จัดการภาพภาย crop ภาพถ่ายเอาเฉพาะใบหน้า

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

เขียน Python จัดการภาพภาย crop ภาพถ่ายเอาเฉพาะใบหน้า พร้อมกับกำหนดขนาดเป็น 90x96px

โค้ด: เลือกทั้งหมด

from PIL import Image

# Load the image
image_path = '/mnt/data/51_f613978ce7cdc738c62528979f969f57.jpg'
original_image = Image.open(image_path)

# Crop the face, assuming the face is centrally located
width, height = original_image.size
top = height * 0.2  # start 20% from the top
bottom = height * 0.5  # end at 50% of the height
left = width * 0.3  # start 30% from the left
right = width * 0.7  # end at 70% of the width

# Crop the image
face_image = original_image.crop((left, top, right, bottom))

# Resize to 90x96 pixels
face_image_resized = face_image.resize((90, 96))

# Save the cropped and resized image
cropped_path = '/mnt/data/cropped_face_90x96.jpg'
face_image_resized.save(cropped_path)
cropped_path
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 40891
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: เขียน Python จัดการภาพภาย crop ภาพถ่ายเอาเฉพาะใบหน้า

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

จัดการทั้ง folder

โค้ด: เลือกทั้งหมด

import os
from PIL import Image

# Directory containing the images to be processed
directory = 'path_to_your_image_directory'

# Function to crop, resize, and optimize an image
def crop_resize_optimize(image_path, output_directory):
    # Load the image
    image = Image.open(image_path)

    # Crop parameters: adjust these values based on your image composition
    width, height = image.size
    left = width / 4
    top = height / 10
    right = 3 * width / 4
    bottom = height / 2 + height / 4

    # Crop the image to include the face and neck
    cropped_image = image.crop((left, top, right, bottom))

    # Resize the image
    resized_image = cropped_image.resize((90, 96), Image.ANTIALIAS)

    # Prepare the output file name
    original_file_name = os.path.basename(image_path)
    file_name_without_extension = os.path.splitext(original_file_name)[0]
    new_file_name = f"{file_name_without_extension}_90x96.jpg"

    # Save the optimized image
    resized_image.save(os.path.join(output_directory, new_file_name), optimize=True, quality=85)

# Ensure the output directory exists
output_directory = os.path.join(directory, 'processed_images')
if not os.path.exists(output_directory):
    os.makedirs(output_directory)

# Loop over all images in the directory and process them
for filename in os.listdir(directory):
    if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
        image_path = os.path.join(directory, filename)
        crop_resize_optimize(image_path, output_directory)

print("Image processing complete. All images have been cropped, resized, and optimized.")
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 2