ลบพื้นหลังภาพด้วย rembg และ Flask: สร้าง API ส่วนตัวฟรี คุณภาพระดับโปร

การลบพื้นหลังจากภาพถ่ายหรือรูปกราฟิกเคยเป็นงานที่ยุ่งยาก และมักต้องพึ่งพาบริการออนไลน์ที่มีค่าใช้จ่าย เช่น remove.bg หรือ Adobe Express แต่ตอนนี้คุณสามารถสร้างเครื่องมือลบพื้นหลังของตัวเองได้แบบง่ายๆ ด้วยไลบรารี rembg ซึ่งเป็นโอเพ่นซอร์สและฟรี 100% และยิ่งน่าสนใจขึ้นไปอีกเมื่อคุณสามารถสร้าง API ส่วนตัว เพื่อใช้งานหรือผนวกเข้ากับระบบของคุณได้อย่างอิสระ

ทำไมต้องใช้ rembg?

rembg คือไลบรารี Python ที่ใช้โมเดล AI ในการลบพื้นหลังภาพโดยอัตโนมัติ รองรับไฟล์หลากหลายประเภท และให้คุณภาพระดับเดียวกับบริการแบบเสียเงิน โดยมีจุดเด่นสำคัญดังนี้:

✅ ฟรีและโอเพ่นซอร์ส

✅ ลบพื้นหลังได้แม่นยำและรวดเร็ว

Advertisement Banner 3
ยุคของ Ai ที่คุณสามารถนำโค้ด HTML มาวางเพื่อสร้างโปรไฟล์ของคุณที่ไม่เหมือนใครเพียงปลายนิ้ว สร้างเลย

✅ ใช้งานผ่านโค้ด Python หรือ CLI

✅ รองรับการนำไปสร้าง API หรือฝังในโปรเจกต์อื่น

✅ ทำงานได้ทั้งแบบมี GPU และไม่มี GPU

จุดแข็ง: นำไปสร้าง API ส่วนตัวได้

หนึ่งในข้อได้เปรียบใหญ่ของ rembg คือ คุณสามารถนำไปสร้าง API ส่วนตัวแบบ Microservice ได้ทันที ไม่ว่าจะนำไปรวมในโปรเจกต์เว็บไซต์ ระบบอัปโหลดภาพ หรือแอปของคุณเองก็ทำได้ทั้งหมด โดยไม่ต้องพึ่ง API จากผู้ให้บริการภายนอก

ตัวอย่างการสร้าง API ลบพื้นหลังด้วย Flask + rembg

ด้านล่างนี้คือวิธีสร้าง Web API ง่ายๆ ที่รับภาพเข้ามา (ผ่าน HTTP POST) แล้วส่งคืนภาพที่ลบพื้นหลังออกแล้ว

1. ติดตั้งไลบรารีที่จำเป็น

เปิด Terminal แล้วติดตั้งแพ็กเกจเหล่านี้:

bash

คัดลอก

แก้ไข

pip install rembg[gpu] flask Pillow

หากเครื่องคุณ ไม่มี GPU ให้ใช้:

bash

คัดลอก

แก้ไข

pip install rembg flask Pillow

2. สร้างไฟล์ app.py ด้วยโค้ดนี้

python

คัดลอก

แก้ไข

import io

from flask import Flask, request, send_file

from rembg import remove

from PIL import Image

app = Flask(__name__)

@app.route('/remove-background', methods=['POST'])

def remove_background_api():

if 'file' not in request.files:

return "กรุณาส่งไฟล์รูปภาพมาด้วย (Please send an image file)", 400

file = request.files['file']

if file.filename == '':

return "ไฟล์ไม่ได้ถูกเลือก (No file selected)", 400

try:

input_image_bytes = file.read()

input_image = Image.open(io.BytesIO(input_image_bytes))

except Exception as e:

return f"ไม่สามารถอ่านไฟล์รูปภาพได้: {e}", 400

output_image_bytes = remove(input_image_bytes)

return send_file(

io.BytesIO(output_image_bytes),

mimetype='image/png',

as_attachment=True,

download_name='no-bg.png'

)

if __name__ == '__main__':

app.run(debug=True)

3. วิธีทดสอบ

รันคำสั่ง:

bash

คัดลอก

แก้ไข

python app.py

เปิด Postman หรือใช้ curl ส่งไฟล์ภาพไปยัง http://127.0.0.1:5000/remove-background

คุณจะได้รับภาพที่ถูกลบพื้นหลังแล้วกลับคืนมาเป็นไฟล์ .png

ใช้ที่ไหนได้บ้าง?

ไอเดียการนำ API นี้ไปใช้:

🖼 เว็บไซต์แต่งภาพ (ให้ผู้ใช้ลากภาพเข้ามาแล้วลบพื้นหลัง)

📱 แอปมือถือที่ต้องการให้ผู้ใช้เปลี่ยนพื้นหลังรูปโปรไฟล์

🛍 ระบบอัปโหลดสินค้าอัตโนมัติ (เช่น e-commerce) ที่ต้องการภาพสินค้าโปร่งใส

🤖 ระบบบอทใน Discord, Line, Telegram ที่ลบพื้นหลังตามคำสั่ง

🧠 หรือแม้แต่ผนวกเข้ากับ AI pipeline อื่นๆ เช่น AI แต่งภาพ, เปลี่ยนพื้นหลัง, หรืออวาตาร์

สรุป

rembg คือเครื่องมือที่ ทั้งฟรี ทรงพลัง และยืดหยุ่นสูง เหมาะสำหรับนักพัฒนาในยุค AI ที่ต้องการควบคุมระบบของตนเองแบบเต็มที่ การสร้าง API ส่วนตัวด้วย Flask เป็นจุดเริ่มต้นที่ดีที่จะนำไปสู่การใช้งานจริงหลากหลายรูปแบบ ไม่ว่าจะเป็นในงานส่วนตัวหรือเชิงพาณิชย์

หากคุณยังไม่เคยลอง rembg — ถึงเวลาแล้วครับ!