Ali Ismael نشر 20 أكتوبر 2021 أرسل تقرير نشر 20 أكتوبر 2021 كيف يمكننا تحويل الصورة من تنسيقOpenCV إلى تنسيق (Pillow )PIL والعكس؟ 1 اقتباس
1 Ali Haidar Ahmad نشر 20 أكتوبر 2021 أرسل تقرير نشر 20 أكتوبر 2021 تستخدم 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 اقتباس
1 Ahmed Sharshar نشر 20 أكتوبر 2021 أرسل تقرير نشر 20 أكتوبر 2021 للتحويل من 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) اقتباس
السؤال
Ali Ismael
كيف يمكننا تحويل الصورة من تنسيقOpenCV إلى تنسيق (Pillow )PIL والعكس؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.