Ali Ismael نشر 17 أكتوبر 2021 أرسل تقرير نشر 17 أكتوبر 2021 لدي مجموعة من الصور وأريد تحويل بعضها إلى الأبيض والأسود، كيف نقوم بذلك؟ مثلاً الصورة التالية: 1 اقتباس
1 Ali Haidar Ahmad نشر 17 أكتوبر 2021 أرسل تقرير نشر 17 أكتوبر 2021 لتحويل الصورة الملونة RGB إلى صورة أبيض وأسود، نقوم أولاً بتحويلها إلى صورة رمادية إما من خلال قراءتها مباشرةً كصورة رمادية في التابع imread أو من خلال استخدام كود التحويل COLOR_BGR2GRAY في التابع cvtColor، ثم تعتيبها بإحدى طرق التعتيب في OpenCV وهما التعتيب البسيط والتعتيب المتكيف (روابطهما في الأسفل): import cv2 import numpy as np # قراءة الصورة img = cv2.imread(r'/content/me.jpg') # Gray تحويل الصورة إلى gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # أو cv2.imread(r'/content/me.jpg',0) # تحويل الصورة إلى أبيض وأسود عن طريق التعتيب _,Black_white_img=cv2.threshold(gray_img,127,255,cv2.THRESH_BINARY) # عرض الصورة الناتجة cv2.imshow('res',Black_white_img) cv2.waitKey(0) cv2.destroyAllWindows() الخرج: 1 اقتباس
1 Ahmed Sharshar نشر 17 أكتوبر 2021 أرسل تقرير نشر 17 أكتوبر 2021 في البداية عليك قراءة الصورة بشكل رمادي عوضا عن قراءتها بالألوان كالتالي: import cv2 im_gray = cv2.imread('grayscale_image.png', cv2.IMREAD_GRAYSCALE) بعد ذلك تقوم بعمل التعتيب، وهو أن تضع حدا بحيث يكون كل البيكسل التي أقل من هذا الحد =0 أي سوداء بينما كل ما هو أكبر منها = 1 أي أبيض كالتالي: thresh = 127 im_bw = cv2.threshold(im_gray, thresh, 255, cv2.THRESH_BINARY) لاحظ أنه يمكنك تغيير قيمة 127 بأي قيمة تريد حسب رغبتك في تعتيم أو تفتيح الصورة، اما اذا لم تعرف القيمة التي تريد يمكنك تطبيق إحدي طرق التعتيب المتوفرة مسبقا هكذا: (thresh, im_bw) = cv2.threshold(im_gray, 128, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU) في النهاية عليك حفظ الصورة وستظهر بالشكل الذي تريد. في المثال الخاص بك يمكنك تجربة هذا الكود: import cv2 originalImage = cv2.imread('C:/Users/ahmed/Desktop/Test.png') grayImage = cv2.cvtColor(originalImage, cv2.COLOR_BGR2GRAY) (thresh, blackAndWhiteImage) = cv2.threshold(grayImage, 127, 255, cv2.THRESH_BINARY) cv2.imshow('Black white image', blackAndWhiteImage) cv2.imshow('Original image',originalImage) cv2.imshow('Gray image', grayImage) cv2.waitKey(0) cv2.destroyAllWindows() والذي تكون نتيجته أظهار الصورة الرمادية هكذا: والصورة الأبيض والأسود هكذا: اقتباس
السؤال
Ali Ismael
لدي مجموعة من الصور وأريد تحويل بعضها إلى الأبيض والأسود، كيف نقوم بذلك؟ مثلاً الصورة التالية:
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.