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

لوحة المتصدرين

  1. Ali Haidar Ahmad

    Ali Haidar Ahmad

    الأعضاء


    • نقاط

      8

    • المساهمات

      1068


  2. Ali Ismael

    Ali Ismael

    الأعضاء


    • نقاط

      3

    • المساهمات

      96


  3. Omar Haddad2

    Omar Haddad2

    الأعضاء


    • نقاط

      1

    • المساهمات

      292


  4. Yomna Raouf

    Yomna Raouf

    الأعضاء


    • نقاط

      1

    • المساهمات

      2193


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 10/22/21 في كل الموقع

  1. كيف يمكننا رسم خطوط ملونة مختلفة ضمن شكل واحد؟
    1 نقطة
  2. كيف يمكننا التحكم بعدد علامات التجزئة التي تظهر في الرسم البياني في Matplotlib ؟
    1 نقطة
  3. كيف يمكننا حذف الفراغات (الفجوات) بين ال subplots التي تظهر عند عرضها في الكود التالي: import matplotlib.pyplot as plt for i in range(4): axs = plt.subplot(2, 2, i+1) axs.grid(b = True, color ='red', linestyle ='-.', linewidth = 0.5, alpha = 0.6) axs.set_xticklabels([]) axs.set_yticklabels([]) plt.show()
    1 نقطة
  4. يمكنك رسمها من خلال استدعاء التابع autofmt_xdate بالشكل التالي: import matplotlib import matplotlib.pyplot as plt import numpy as np import datetime # إنشاء بيانات زمنية y = [ 2,4,6,8,10,12,14,16,18,20 ] x = [datetime.datetime.now() + datetime.timedelta(hours=i) for i in range(len(y))] # plot plt.plot(x,y) plt.gcf().autofmt_xdate() plt.show() النتيجة: وإذا أردت البدء من تاريخ محدد ، قم بإنشاء طابع زمني (timestamp ) جديد باستخدام datetime.datetime (السنة ، الشهر ، اليوم ، الساعة ، الدقيقة). import matplotlib import matplotlib.pyplot as plt import numpy as np import datetime # إنشاء بيانات customdate = datetime.datetime(2016, 1, 1, 13, 30) y = [ 2,4,6,8,10,12,14,16,18,20 ] x = [customdate + datetime.timedelta(hours=i) for i in range(len(y))] # رسمها plt.plot(x,y) plt.gcf().autofmt_xdate() plt.show()
    1 نقطة
  5. يمكنك استخدام الدالة CreateImage للقيام بما تريده: import cv2 as cv # تحديد الأبعاد width=500 hight=500 # تحديد عدد البتات لكل بكسل في كل قناة لونية no_of_bits=8 # تحديد عدد القنوات channels=3 # إنشاء الصورة image=cv.CreateImage((width,hight),no_of_bits,channels) # حقظ الصورة cv.imwrite('im.jpg', image) أو: import cv2 import numpy as np # إنشاء صورة بلون محدد # أسود (0, 0, 0) # أبيض (255,255, 255) # أحمر (255,0, 0) # وهكذا.. def create(width, height, rgb=(0, 0, 0)): # إنشاء صورة بقيم صفرية image = np.zeros((height, width, 3), np.uint8) # BGR نظامها هو opencv عكس ترتيب الألوان لأن color = tuple(reversed(rgb_color)) image[:] = color return image # الآن سنقوم بإنشاء مصفوفة فارغة سوداء blank_image = (0, 0, 0) image = create_blank(400, 400, rgb=blank_image) cv2.imwrite('red.jpg', image)
    1 نقطة
  6. يمكنك أن تستخدم OpenCV و OCR، لذا بدايةً تحتاج إلى تثبيت الملف tesseract.exe التالي من غيتهاب https://github.com/UB-Mannheim/tesseract/wiki إضافةً إلى الحزمة pytesseract كما يلي: pip install pytesseract الآن اتبع التعليمات التالية: import cv2 import pytesseract # pip install pytesseract # حدد المسار الذي قمت فيه بتثبيت الملف pytesseract.pytesseract.tesseract_cmd = 'tesseract.exe' # إقرأ الصورة img = cv2.imread("sample.jpg") # قم بتحويل الصورة إلى الصيغة الرمادية gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) والآن قم بتطبيق إحدى تقنيات التعتيب وهناك 3 أنواع للتعتيب يمكنك تطبيقها في CV2 : التعتيب البسيط+التعتيب المتكيف+تعتيب أوتسو وسنستخدم تعتيب أوتسو هنا: ret, thresh1 = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU | cv2.THRESH_BINARY_INV) حدد شكل البنية وحجم النواة. حيث أن حجم النواة يزيد أو ينقص مساحة المستطيل المراد اكتشافه. قيمة أصغر مثل (10 ، 10) ستكتشف كل كلمة بدلاً من جملة: rect_kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (18, 18)) ونطبق عملية تمديد للصورة: dilation = cv2.dilate(thresh1, rect_kernel, iterations = 1) اكتشاف الملامح contours: contours, hierarchy = cv2.findContours(dilation, cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE) إنشاء نسخة من الصورة وملف نصي: im2 = img.copy() # إنشاء ملف نصي file = open("recognized.txt", "w+") file.write("") file.close() نقوم بالتكرار بحلقة على ال contours ثم يتم اقتصاص الجزء المستطيل وتمريره إلى pytesseract لاستخراج النص منه ثم كتابة النص المستخرج في الملف النصي: for cnt in contours: x, y, w, h = cv2.boundingRect(cnt) # رسم مستطيل على الصورة المنسوخة rect = cv2.rectangle(im2, (x, y), (x + w, y + h), (0, 255, 0), 2) # اقتصاص كتلة النص لإعطاء مدخلات إلى التعرف الضوئي على الحروف cropped = im2[y:y + h, x:x + w] # append فتح الملف ونحدد له وضع التحديث file = open("recognized.txt", "a") # OCR تطبيق text = pytesseract.image_to_string(cropped) # كتابة النص إلى الملف file.write(text) file.write("\n") # إغلاقه # Close the file file.close
    1 نقطة
  7. ليكن لدينا المثال التالي: from matplotlib.ticker import PercentFormatter import matplotlib.pyplot as plt import numpy as np from matplotlib import colors N_points = 50 x1 = abs(np.random.randn(N_points)*50) plt.hist(x1,bins = 255) plt.xlabel("X-axis") plt.ylabel("y-axis") plt.show() والخرج: الآن إذا أردنا حذف محور محدد هناك طريقتين، الأولى: from matplotlib.ticker import PercentFormatter import matplotlib.pyplot as plt import numpy as np from matplotlib import colors N_points = 50 x1 = abs(np.random.randn(N_points)*50) ax = plt.subplot(111) ax.hist(x1,bins = 255) # plot حذف خطوط حاويةال # إنشاء قائمة باسماء المحاور المطلوب إخفاءها li=['top', 'right',] # حذفها واحدة تلو الأخرى for s in li: ax.spines[s].set_visible(False) # نكون قد أخفينا المحور False على set_visible من خلال ضبط plt.xlabel("X-axis") plt.ylabel("y-axis") plt.show() والنتيجة: والثانية من خلال rcParams (استخدم هذه الطريقة في حال كان لديك أكثر من plot وتريد إخفاء المحاور منها جميعاً): import matplotlib as mpl # هنا سنخفي جميع المحاور mpl.rcParams['axes.spines.left'] = False mpl.rcParams['axes.spines.right'] = False mpl.rcParams['axes.spines.top'] = False mpl.rcParams['axes.spines.bottom'] = False
    1 نقطة
  8. تستخدم 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 نقطة
  9. يمكنك استخدام الكود التالي للقيام بعملية تحويل سلاسل byte string إلى صورة، ياستخدام التابع cv2.imdecode و التابع fromstring، كما يلي: from cv2 import cv import numpy as np import cv2 # من ملف أو قاعدة بيانات string تحميل الصورة ك my_f = open('foo.jpg') im_string = my_f.read() # هي السلسلة النصية التي تحوي البيانات im_string الآن أصبحت # إغلاق الملف my_f.close() # 1-D array الآن سيتم إنشاء مصفوفة # im_string المصفوفة سيتم تشكيلها من البيانات التي تم تحميلها من السلسلة arr = np.fromstring(im_string, np.uint8) # image format الآن نستخدم التابع التالي لفك تشفير الصورة وجعلها بتنسيق صورة # cv2.IMREAD_COLOR img_np = cv2.imdecode(arr, cv2.CV_LOAD_IMAGE_COLOR) # CV img_ipl = cv.CreateImageHeader((img_np.shape[1], img_np.shape[0]), cv.IPL_DEPTH_8U, 3) cv.SetData(img_ipl, img_np.tostring(), img_np.dtype.itemsize * 3 * img_np.shape[1]) # ولاختبار الأنواع print type(im_string) # <type 'str'> print type(arr) # <type 'numpy.ndarray'> print type(img_ipl) # <type 'cv2.cv.iplimage'>
    1 نقطة
  10. يمكنك تعديل حجمها من خلال ضبطهم بشكل يدوي، بدلاً من تمرير عدد ال bins، كالتالي: from matplotlib.ticker import PercentFormatter import matplotlib.pyplot as plt import numpy as np from matplotlib import colors N_points = 50 # تحديد نطاق المجالات يدوياً bins=[0, 50, 70, 90,255] # وبالتالي سيكون لدينا 4 مجالات وأكبرها حجماً هو المجال من 90 ل 255 x1 = abs(np.random.randn(N_points)*50) plt.hist(x1,bins = bins) plt.xlabel("X-axis") plt.ylabel("y-axis") plt.show() وإذا كنت ترغب فقط في توزيعها بالتساوي (جعل النطاقات متساوية): from matplotlib.ticker import PercentFormatter import matplotlib.pyplot as plt import numpy as np from matplotlib import colors N_points = 50 x1 = abs(np.random.randn(N_points)*50) # في حالة كانت بياناتك تحوي أعداد حقيقية استخدم: bins=np.arange(min(x1), max(x1) + binwidth, binwidth) # أما في حالة كانت أعداد صحيحية فقط يمكنك استخدام: # bins=range(min(x1), max(x1) + binwidth, binwidth) plt.hist(x1,bins = bins) plt.xlabel("X-axis") plt.ylabel("y-axis") plt.show()
    1 نقطة
  11. يظهر هذا الخطأ لأن غوغل كولاب لايدعم استخدام هذه الدالة، لذا كحل بديل يقدم كولاب الدالة: google.colab.patches.cv2_imshow(your_image) وبالتالي يمكنك استخدامها بدلاً من الدالة cv2.imshow كما يلي: import cv2 import numpy as np img1 = cv2.imread(r'/content/test1 closedeye.jpg') imageresult = cv2.cvtColor(img1, cv2.COLOR_BGR2HSV) from google.colab.patches import cv2_imshow # نقوم باستيرادها # استخدامها cv2_imshow(imageresult) أو كحل آخر استخدم مكتبة Matplotlib لكن ستضطر في هذه الحالة إلى تغيير فضاء الألوان للصورة من BGR إلى RGB لأن OpenCV تقرأ الصور بصيغة BGR: from matplotlib import pyplot as plt import cv2 # قراءة الصورة img = cv2.imread(r'C:\Users\Windows.10\Desktop\All\test5 openeye.jpg') # RGB تحويلها إلى img= cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # عرضها plt.imshow(img)
    1 نقطة
  12. مفاهيم البرمجة المشتركة في أغلب اللغات : الثوابت: هي عبارة عن متغيرات لكنها لا تتغير طيلة تنفيذ البرنامج و بمجرد وضع قيمة لا يمكنك تغييرها عكس المتغيرات التي تأخذ في كل وقت قيمة . المتغيرات: قيمة أو حجز قيمة في ذاكرة المعالج حتى يصبح من السهل تغيير هذا الجزء المحجوز في الذاكرة ، ويتم تخزين البيانات على هيئة بايت او مقدار مكون من ١٦ أو ٣٢ من قيم البايت والتي تحول من عدد ثنائي لما يقابلها من اعداد عشرية أو نصوص أو غير ذلك في مرحلة التحويل والتخزين المؤقت.حيث للمتغير نوع يختلف طريقة التعبير عنه بإختلاف اللغة مثلا في الجافا يتم تحديد النوع لرقم الصحيح ب int و الجافا سكربت ب var وتستخدم var مع جميع أنواع البيانات int x=1; //java var x=1 ;//java script الجمل الشرطية: الجمل الشرطية هي الطريقة التي تُمكّن الحاسوب من اتخاذ القرارات. الجمل الشرطية دائما تحتوي على الجزء if، الجزء الذي يُخبر التطبيق ماذا يفعل إذا كان الشرط صحيحاً. الجمل الشرطية أيضا تحتوي على جزء else، الذي يُخبر التطبيق ماذا يفعل إذا كان الشرط خاطئ. إذا أهملت الجزء else فإن تطبيقك لن يفعل شيء اذا كان الشرط خاطىء if ( condition ){ }else if ( condition ){ }else{ } الدوال: دالة تعني Function أو Method في اللغة الإنجليزية وهي كود جاهز يتنفذ فقط عندما تقوم بإستدعائه و عندما تكتب إسم الدالة فهذا يعني أنك تطلب من البرنامج تنفيذ هذه الدالة. مثال في لغة الجافا سكربت : حيث أن وظيفة هذه الدالة حساب مربع الرقم function square(number) { return number * number; } الحلقات التكرارية: هي عبارات برمجية تُستخدم من أجل تنفيذ أجزاء محددة من الشفرة البرمجية عدة مرات. فبدلاً من تكرار كتابة الشفرة 1000 مرة مثلاً فستكتبها مرة واحدة و تؤدي لك الحلقات التكرارية بقية المهمة من أجلك بعد أن تُحدد لها بعض المُتغيرات مثل عدد التكرارات أو متى تبدأ و متى تتوقف, ويوجد منها العديد من الأنواع يمكنك البحث عنها والتعرف عليها بشكل أوسع
    1 نقطة
  13. المفاهيم الأساسية في أي لغة برمجة هي: Programming Environment المتغيرات variables الحلقات التكرارية loops الدوال و التوابع functions الجمل الشرطية و Decision Making "اتخاذ القرارت" قواعد اللغة الأساسية basic syntax أنواع البيانات Data types الكلمات المفتاحية Keywords الرموز الرياضية و المنصقية الأساسية مثل + و - و && و غيرها Basic Operators File I/O Numbers , Characters , Arrays, Strings بالإضافة إلى بعض المهارات في حل المشكلات و التفكير المنطقي و الخوارزميات.
    1 نقطة
  14. مفاهيم البرمجة الأساسية تقترب أن تكن مشتركة في جميع اللغات البرمجية ومتاشبها إلى حد كبير بينهم تختلف في طريقة كتابتها فقط لا غير ولكن المفاهيم الأساسية مشتركة فمثلاً جميع لغات البرمجة يوجد لديهم المتغيرات و دالة IF ELSE وأيضاً array و function و loop جميع اللغات البرمجية لديهم هذة الخواص البرمجية وتختلف فقط في طريقة الكتابة . مثال array في لغة javascript : var cars = ["Saab", "Volvo", "BMW"]; مثال على array في python : cars = ["Ford", "Volvo", "BMW"] مثال array في php : <?php $cars = array("Volvo", "BMW", "Toyota"); ?> فهما كما ترى متقاربين لبعض في الفكرة وفي الكتابة بعض الشئ . يمكنك تعلم javascript بدون الدخول إلى أي لغة قبلها ولكن إذا أردت أن تتعلم الأساس قبل الدخول على javascript فيمكنك تعلم الخوارزميات والتفكير المنطقي سوف يفيدك كثيراً عندما تتعلم لغة برمجة سوف تتعلمها بسهولة وسوف تتقن كل كود يتم كتابته وسوف يكن لديك طريقة كتابة مختلفة ونظيفة وطريقة تفكير أيضاً احترافية في الكود .
    1 نقطة
×
×
  • أضف...