Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

إزالة خلفية الصورة بلغة بايثون

  • تحميل الموديول rembg
  • كود إزالة خلفية الصورة

في هذا المقال ستتعلم طريقة إزالة خلفية الصور بكل سهولة بواسطة لغة بايثون و بالإعتماد على الموديول rembg خطوة خطوة.


تحميل الموديول rembg

بما أنك ستستخدم هذا الموديول في مشروعك لأجل عملية التحويل فأول شيء عليك فعله هو تحميل هذا الموديول على حاسوبك.
لتحميل الموديول بواسطة مدير الحزم pip قم بفتح موجه الأوامر و من ثم أكتب الأمر التالي.

pip install rembg --user

حين يكتمل التحميل سيظهر لك العبارة التالية التي تخبرك بأسماء الموديولات التي تم تحميلها.

Successfully installed PySocks-1.7.1 PyWavelets-1.4.1 aiohttp-3.8.1 aiosignal-1.2.0 anyio-3.6.1 async-timeout-4.0.2 asyncer-0.0.1 attrs-22.1.0 beautifulsoup4-4.11.1 coloredlogs-15.0.1 fastapi-0.80.0
 filelock-3.8.0 filetype-1.1.0 flatbuffers-22.9.24 frozenlist-1.3.1 gdown-4.5.1 humanfriendly-10.0 imagehash-4.2.1 llvmlite-0.39.1 mpmath-1.2.1 multidict-6.0.2 networkx-2.8.7 numba-0.56.2 numpy-1.21
.6 onnxruntime-1.12.1 opencv-python-headless-4.6.0.66 packaging-21.3 protobuf-4.21.7 pydantic-1.10.2 pymatting-1.1.8 pyparsing-3.0.9 pyreadline3-3.4.1 python-multipart-0.0.5 rembg-2.0.25 scikit-imag
e-0.19.3 scipy-1.7.3 six-1.16.0 sniffio-1.3.0 soupsieve-2.3.2.post1 starlette-0.19.1 sympy-1.11.1 tifffile-2022.8.12 typing-extensions-4.4.0 watchdog-2.1.9 yarl-1.8.1

ملاحظة

تحميل الموديول rembg قد يستغرق بضعة دقائق إذا كان النت عند بطيئ لأنه داخلياً مبني على موديولات أخرى يصل حجمها إلى 150MB تقريباً و هو يقوم بشكل تلقائي بتحميل هذه الموديولات تباعاً عنك.

البارميتر --user أضفناه لضمان أن يتم تحميل الموديولات بدون مشاكل فقد يرفض نظام التشغيل تحميلهم إن لم يكن المستخدم للحاسوب يملك الصلاحيات الازمة.


كود إزالة خلفية الصورة

بدايةً إتبع الخطوات التالية لإنشاء مشروع جديد لتطبق فيه الشرح بنفسك:

  1. قم بإنشاء مشروع جديد و لنفترض إسمه myapp أو أي إسم تريده.
  2. في هذا المشروع يجب أن يكون عندك كلاس لتكتب فيه الكود و لنفترض إسمه main.py أو أي إسم تريده.
  3. قم بوضع الصورة التي تريد إزالة خلفيتها بداخل المشروع مباشرةً، و في حالتنا قمنا بوضع صورة إسمها input.jpg.

الكود

main.py
# remove و الدالة Image هنا قمنا بتضمين الكلاس
from rembg import remove
from PIL import Image
# هنا قمنا بتحديد مسار الصورة الأصلية و الصورة التي سيتم إنشاؤها
input_path = 'input.jpg'
output_path = 'output.png'
# input_path هنا قمنا بفتح الصورة الأصلية الموجودة في المسار المذكور بداخل
input_img = Image.open(input_path)
# output_img هنا قمنا بإزالة خلفية الصورة الأصلية و تخزينها في المتغير
output_img = remove(input_img)
# output_path هنا قمنا بحفظ الصورة الجديدة في المسار المذكورة بداخل
output_img.save(output_path)
# remove و الدالة Image هنا قمنا بتضمين الكلاس from rembg import remove from PIL import Image # هنا قمنا بتحديد مسار الصورة الأصلية و الصورة التي سيتم إنشاؤها input_path = 'input.jpg' output_path = 'output.png' # input_path هنا قمنا بفتح الصورة الأصلية الموجودة في المسار المذكور بداخل input_img = Image.open(input_path) # output_img هنا قمنا بإزالة خلفية الصورة الأصلية و تخزينها في المتغير output_img = remove(input_img) # output_path هنا قمنا بحفظ الصورة الجديدة في المسار المذكورة بداخل output_img.save(output_path)

بعد تجربة الكود السابق بواسطة برنامج Pycharm تم إنشاء الصورة التي هي بدون خلفية بإسم ouput.png بجانب الصورة الأصلية input.jpg في نفس المشروع.


و عندما توجهنا لملفات المشروع وجدنا الصورتين input.jpg و output.png كالتالي.


الآن لاحظ الصورة الأصلية input.jpg و الصورة الجديدة output.png التي تم إنشاءها منها.

آخر تحديث في 06-01-2024

الكاتب

محمد هرموش

مؤسس و مطور موقع هرمش. مهتم بنشر كل ما أعرفه في مجال البرمجة و الأنظمة و الشبكات.

harmash.com

تعليقات 3

أضف تعليق

يجب تسجيل الدخول حتى تتمكن من إضافة تعليق أو رد.