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

Ali Ismael

الأعضاء
  • المساهمات

    96
  • تاريخ الانضمام

  • تاريخ آخر زيارة

أجوبة بواسطة Ali Ismael

  1. أريد توضيح أكبر للمرشح medianBlur وهل هناك إمكانية للتعامل مع حدود الصورة، فمن خلال  قراءتي عنها فهمت أنه يتم تمرير القناع (النواة أو الكيرنل Kernal) ذات الحجم الفردي k*k على بكسلات الصورة (عن طريق الالتفاف convlution على بكسلات الصورة) حيث يتم أخذ الوسيط لهذه البكسلات. واستبدال البكسل المركزي بقيمته. وأنه مفيد جداً  مع الصور التي تعاني من ضجيج Salt& Pepper .  لكن ماذا بشأن البكسلات الحدودية أي مثلاً ماذا يحدث للصفين الأولين ، حيث لا يمكن أن يكون هناك عناصر في الصفين الأولين والتي تمثل العنصر المركزي لأي نافذة؟  أي مثلاً هنا  في حال تطبيق نواة 3*3 سيتم استبدال العنصر المركزي 14 بالعنصر الوسيط 13. لكن ماذا عن الحدود؟ كيف سيتم التعامل معها؟

          [[12,  3, 22,  16,  17],
           [ 6, 13,  0, 12, 1],
           [25, 18, 14, 19, 23],
           [ 7, 11, 15, 10,  5],
           [12, 13, 5,  4,  0]] 

     

    • أعجبني 1
  2. قمت برسم الأشكال ال 4 التالية وأريد وضع عنوان عام لهذه ال subplots فكيف نقوم بذلك؟

    # Implementation of matplotlib function
    import numpy as np
    import matplotlib.pyplot as plt
    # First create some toy data:
    x = np.linspace(0, 1.5 * np.pi, 100)
    y = np.sin(x**2)+np.cos(x**2)
    fig, axs = plt.subplots(2, 2,
    						subplot_kw = dict(polar = True))
    axs[0, 0].plot(x, y)
    axs[1, 1].scatter(x, y)
    plt.show()


    index.png.5b96bf10d215fc187ca72918c0d0a95e.png
     

    • أعجبني 1
  3. أريد تعديل المسافات الفاصلة بين ال subplots فمثلاً لدي الكود التالي الذي يقوم بتوليد الرسمين التاليين:

    import matplotlib.pyplot as plt
    data = np.arange(3000).reshape((100,30))
    fig = plt.figure()
    subplot1 = fig.add_subplot(121)
    subplot1.plot(data)
    subplot2 = fig.add_subplot(122)
    subplot2.plot(data)
    plt.show()

    والنتيجة:
    index.png.b2ab3bbacf3e19eb94694d1e7892c915.png ما أريده هو جعلهما متباعدين لكي يكون الناتج بشكل أوضح ولكي لا يحدث هذا التداخل.
     

    • أعجبني 1
  4. عندما أحاول عرض الصورة باستخدام  بعد أن أكون قد قمت بقراءتها باستخدام التابع cv.imread تظهر لي الصورة بألوان غير صحيحة، لماذا؟ وما الحل؟

    from matplotlib import pyplot as plt
    import cv2
    img = cv2.imread(r'C:\Users\Windows.10\Desktop\All\test5 openeye.jpg')
    plt.title("Face")
    plt.imshow(img)

    الخرج:
    index.png.39917c88c4f1446ef2fac903d432cb6e.png
    علما أن الصورة الأصلية تبدو هكذا:
    61699b5904e50_test5openeye.jpg.fcaa0728d88a3d8873549282ce1d874f.jpg

    • أعجبني 1
  5. لدي plot وأريد جعل لون خلفية له سوداء، كيف يمكنني تغييرها؟ علماً أنني حاول استخدام set_facecolor لكن ظهر كما في الصورة فما السبب وما الحل؟

    import numpy as np
    import matplotlib.pyplot as plt
    x = np.random.normal(1, 2, 5000)
    y = np.random.normal(-1, 3, 2000)
    bins = np.linspace(-10, 10, 30)
    fig = plt.figure()
    fig.patch.set_facecolor('black')
    plt.hist([x,y], bins = 15,label=[x,y],color=["red","blue"])
    legend = ['Data1','Data2']
    plt.legend(legend)
    plt.show()

    index.png.aaed70e92acbedbd9e20d76d676f2cdf.png
     

    • أعجبني 1
  6. لدي بيانات من ملفين وأريد رسم هيستوغرامين لتمثيلهما، لكن أريد أن يكونان على نفس المخطط. في البداية قمت برسم هستوغرام لبيانات من ملف واحد، ونجح الأمر لكن الآن أحاول رسم هستوغرام فوقه (تراكب) من ملف آخر. لكن لم ينجح الأمر هل من مساعدة؟ حيث أن المشكلة هي أنه بالنسبة لكل مجال للقيم، يظهر الشريط ذو القيمة الأعلى فقط، والآخر يكون مخفياً.

    • أعجبني 1
  7. لدي ال plot التالي: 

    import matplotlib.pyplot as plt
    import numpy as np
    x = np.linspace(0, 10, 1000)
    y = np.sin(x)
    fig, ax = plt.subplots()
    ax.plot(x, np.sin(x), '--b', label ='Sine', color="r",ls='solid')
    plt.title('Matplotlib xticklabels Example')
    plt.show()

    والخرج:
    index.png.f32e905227fb893a14d3219427793f4f.png لكن أريد تغيير حجم التسميات (labels) للمحور الأفقي وتدويرها، كيف يمكن القيام بذلك؟

    • أعجبني 2
  8. كيف يمكنني تحديد أحجام الخطوط لعنوان الشكل (figure)  وتسميات المحور (labels). حيث أنني أريد أن تكون أحجامهم مختلفة:

    import numpy as np
    import matplotlib.pyplot as plt
    x = np.linspace(0, 10, 1000)
    fig = plt.figure()
    plt.plot(x, np.sin(x), '--b', label ='Sine')
    plt.plot(x, np.cos(x), c ='r', label ='Cosine')
    fig.suptitle('test title')
    plt.xlabel('x-label')
    plt.ylabel('y-label')
    plt.show()

    1.png.d7a6598cfd69b5c98c1649f41682d9ea.png

    • أعجبني 1
  9. أريد وضع معلومات البيانات Legend خارج الرسم Plot:

    import numpy as np
    import matplotlib.pyplot as plt
    x = np.linspace(0, 10, 1000)
    fig, ax = plt.subplots()
    ax.plot(x, np.sin(x), '--b', label ='Sine')
    ax.plot(x, np.cos(x), c ='r', label ='Cosine')
    ax.axis('equal')
    # هنا قمنا بتعريف صندوق لتوضيح البيانات
    leg = ax.legend();
    # الصندوق سيكون في الزاويا العليا اليسارية

    وأيضاً كيف يمكنني تغيير حجم الخط فيه؟

    • أعجبني 1
×
×
  • أضف...