Spaces:
Sleeping
pip install opencv-python tensorflow
Browse filesimport cv2
import numpy as np
import tensorflow as tf
# تحميل موديل DeepLabV3+
model = tf.keras.applications.DenseNet201(weights='imagenet')
def remove_background(image_path):
# قراءة الصورة
image = cv2.imread(image_path)
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# تحويل الصورة إلى أبعاد تتوافق مع متطلبات موديل DeepLabV3+
input_array = tf.image.resize(image, (224, 224))
input_array = tf.expand_dims(input_array, 0) # توسيع الأبعاد لتتناسب مع حجم الدفعة
# التنبؤ باستخدام موديل DeepLabV3+
predictions = model.predict(input_array)
mask = predictions[0][:, :, 0] > 0.5 # الفهرس 0 يمثل الخلفية في DeepLabV3+
# تحويل نوع البيانات لـ uint8 لاستخدامها في دالة cv2
mask = mask.astype(np.uint8) * 255
# تحديد الجزء المراد الاحتفاظ به من الصورة الأصلية
result = cv2.bitwise_and(image, image, mask=mask)
# حفظ الصورة الناتجة
output_path = "output.jpg"
cv2.imwrite(output_path, cv2.cvtColor(result, cv2.COLOR_RGB2BGR))
print(f"تم حفظ الصورة في: {output_path}")
# استخدام الدالة لحذف خلفية الصورة
remove_background("input.jpg")