إزالة خلفية الصورة بلغة بايثون
- تحميل الموديول
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
أضفناه لضمان أن يتم تحميل الموديولات بدون مشاكل فقد يرفض نظام التشغيل تحميلهم إن لم يكن المستخدم للحاسوب يملك الصلاحيات الازمة.
كود إزالة خلفية الصورة
بدايةً إتبع الخطوات التالية لإنشاء مشروع جديد لتطبق فيه الشرح بنفسك:
- قم بإنشاء مشروع جديد و لنفترض إسمه
myapp
أو أي إسم تريده. - في هذا المشروع يجب أن يكون عندك كلاس لتكتب فيه الكود و لنفترض إسمه
main.py
أو أي إسم تريده. - قم بوضع الصورة التي تريد إزالة خلفيتها بداخل المشروع مباشرةً، و في حالتنا قمنا بوضع صورة إسمها
input.jpg
.
الكود
# 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
التي تم إنشاءها منها.