اذهب إلى المحتوى

السؤال

Recommended Posts

  • 1
نشر

تستخدم Pillow و OpenCV تنسيقات مختلفة من الصور. لذلك لا يمكنك فقط قراءة صورة في Pillow ومعالجتها في OpenCV. تستخدم الوسادة تنسيق RGB ، ويستخدم OpenCV تنسيق BGR. لذلك ، أنت بحاجة إلى محول للتحويل من تنسيق إلى آخر. وبالتالي للتحويل من صورة PIL إلى OpenCV استخدم:

import cv2
import numpy as np
from PIL import Image
pil_image=Image.open("im.jpg") # PIL فتح الصورة باستخدام
#  1 إجراء التحويل
# pil_image --> numpy array
numpy_image=numpy.array(pil_img)  
# 2 إجراء التحويل 
# openCV2 image --> numpy_image + BGR إلى RGB نحول النظام اللوني من 
opencv_image=cv2.cvtColor(numpy_image, cv2.COLOR_RGB2BGR) 

وللتحويل المعاكس أي من OpenCV إلى صورة PIL نستخدم التابع fromarray:

import cv2
import numpy as np
from PIL import Image
# openCV قراءة الصورة من خلال
opencv_image=cv2.imread("im.jpg")
# BGR --> RGB
color_coverted = cv2.cvtColor(opencv_image, cv2.COLOR_BGR2RGB)
# openCV2 --> PIL
pil_image=Image.fromarray(color_coverted)
  • 1
نشر

للتحويل من opencv ال PIL كل ما عليك هو استخدام Image.fromarray ، اما من أجل العكس فكل ما عليك هو قراءة ال Numpy array الناتج عن الصورة فقط كالتالي:

import cv2
import numpy as np
from PIL import Image

img = cv2.imread("path/to/img.png")

# تغيير الالوان لقراءتها بشكل صحيح
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
im_pil = Image.fromarray(img)

# لعكس العملية
im_np = np.asarray(im_pil)

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...