معالجة الصُّورة باستخدام مكتبات لغة بايثون

1- الذّكاء الإصطناعيّ القابل للتّفسير

المقدّمة

تُعدُّ الرُّؤية الحاسوبيَّة اليوم أَحَدَ أهمّ المجالاتِ الفرعيَّةِ للذَّكاءِ الصَّنعيِّ، نظرًا لتنوُّع تطبيقاتها وإمكانيَّاتها لنقل القدرةِ البشريَّةِ لعمليَّةِ فهمِ ووصفِ مشهدٍ أو صورةٍ إلى الحاسوبِ، فيُصبح قادرًا على التَّعرُّفِ على الكائنات، الأشكال، الألوان، السُّلوك وغيرها من قدرات فهم الصُّورةِ.

التدقيق العلمي: د. دانيا صغير، م. هديل عبد الرحمن
التدقيق اللغوي: هبة الله فلّاحة

الرُّؤية الحاسوبيَّة Computer Vision

يُمكنُ اختصارُها بأنَّها العمليَّةُ الَّتي تَحدُثُ في أدمِغَتِنَا لفَهمِ الصُّور، فهي تُبنَى على عمليَّات التَّصنيف أو التَّحديد أو غيرها من الخوارزميَّات ليكون النَّاتج وصفًا لِمَا تحويهِ الصُّور، لِذا تُستخدم في مجالاتٍ واسعةٍ كالتَّعرُّف على الوجوه أو تصنيف الصُّور أو تحليلها للمُساهَمة في القيادة الذَّاتيَّة وغيرها الكثير.

سنركِّز في مقالنا هذا على عمليَّة معالجة الصُّور.

وبما أنَّنا نتحدَّثُ عن البرمجة والخوارزميَّات، فإنَّ أفضَلَ لُغاتِ البرمجة المُستَخدمةِ بكثرة في مجال الذَّكاء الصَّنعيّ عامَّةً وفي الرُّؤية الحاسوبيَّة خاصَّةً هي لغة بايثون؛ لما تحويه من مكتباتٍ لاختصار العمل والوصول لنتائج مُرضِيَة، سنقوم بعرض أهمِّ المكتبات في لغة بايثون والَّتي ستحتاجُها لدخول مجال معالجة الصُّور والرُّؤية الحاسوبيَّة[1].

مُعالجة الصُّورة Image Processing

تُركِّز معالجة الصُّورة على تطبيقِ نوعٍ أو عِدَّة أنواعٍ منَ التَّحويلات على الصُّورة، على سبيل المثال: إزالة التَّشويش أو إضافته، التَّباين، التّدوير أو تغيير اللَّون، وهي عمليَّاتٌ تتمُّ على مُستوى البكسل Pixel (أصغر جزء في الصُّورة)، وعادةً تكون مرحلةً لتجهيزِ الصُّور وإعدادِها لتكون مُدخلات لمراحل أُخرى”كدخلٍ لشبكةٍ عصبونيَّةٍ مثلاً” تُعطي في النِّهاية خرجاً محددًا.

نام باي Numpy

قبل البدء بأيِّ معالجة في مجال الرّؤية الحاسوبيّة يجب معرفة هذه المكتبة معرفة جيِّدة، إذ أنَّ الصّور أو مقاطع الفيديو يتمُّ تمثيلُها برمجيًّا على أنَّها مصفوفات، وهنا تكمن مهمَّة هذه المكتبة حيث توفِّر مكتبة نام باي كائن مصفوفة متعدِّد الأبعاد ومجموعة متنوّعة من الإجرائيَّات للعمليَّات السَّريعة على المصفوفات، بما في ذلك التَّلاعب بالشَّكل والفرز، والعمليَّات الإحصائيَّة الأساسيَّة، تحويلات فورييه وغيرها الكثير[2].

على سبيل المثال لو أردنا إجراء عمليَّة جداءٍ بين عناصر مصفوفتين في لغات البرمجة التقليدية “جافا مثلاً”، فإن كانتا أحاديَّتي البعد ومعرّفتين بشكل عاديّ فالعمليّة تحتاج إلى حلقة for كما يلي:

for(i=0; i<rows;i++)
{
c[i]=a[i]*b[i];
}

أمَّا في حالة ثنائيِّ البعد فتحتاج إلى حلقتي for متداخلتين للسَّير على جميع العناصر كما يلي:

for(i=0; i<rows;i++)
{ 
for(j=0; j<columns; j++)
  {
    c[i][j]=a[i][j]*b[i][j];
  }
}

بينما إن كانتا من نوع نام باي فإنَّك لاتحتاج إلى شيء سوا عمليّة الجداء وهي ستتكفّل بالباقي:

c = a * b

مكتبة الرَّسم البيانيِّ ماتبلوت Matplotlib

إحدى مكتبات بايثون الأكثر استخدامًا لإنشاء مخطَّطات تحليليَّة عن البيانات (التي هي مصفوفات بالأساس)؛ أي ما يُعرف بعمليَّة العرضُ المرئيُّ للبيانات Data Visiualization، نستطيع باستخدام مكتبة ماتبلوت عرض الصّور والمخطّطات البيانيَّة التي تساعد في التَّحليل الرّياضيّ لمعرفة بعض التَّفاصيل التي تظهر بشكل أوضح بيانيًّا[3].

المكتبة المفتوحة للرُّؤية الحاسوبيَّة OpenCV

واحدة من أضخم المكتبات المفتوحة المصدر والأكثر شهرةً واستخدامًا في عمليَّات الرّؤية الحاسوبيّة، مثل: معالجة الصّور image processing،  الكشف عن الأغراض Object detection، تجزئة الصّورة image segmentation، والتَّعرُّف على الوجوه face recognition وغير ذلك الكثير.

إنّها أفضل مكتبة من حيث سرعة التّنفيذ وهي مكتوبة بلغة C++ ومن إنتاج شركة انتل Intel، الاختلاف الموجود بها أنّها تقرأ الصّور الملوَّنة على أنَّها صور BGR بدلًا من RGB، تُستخدم  هذه المكتبة كثيرًا في عمليَّات معالجة الصّور كالتَّحويل اللَّونيِّ، تدوير الصّور، الفلترة، اكتشاف الحوافّ والتّقطيع[4].

_مثالٌ عمليٌّ:

سنقوم بعمليَّة التَّحويل اللَّونيِّ من نظام RGB إلى نظام Gray باستخدام مكتبة OpenCV المعروفة بcv2 كما يلي:

import cv2 as cv
rgb_img=cv.imread(‘Example.jpg’)
cv.imshow(‘Original’,rgb_img)
gray_img=cv.cvtColor(rgb_img,cv.COLOR_BGR2GRAY)
cv.imshow(‘GrayScale’,gray_img)

شرح التّعليمات:

1_تضمين مكتبة أوبن سي في OpenCV.

2_قراءة الصّورة وإسنادها لمتحوّل (يجب أن نضع مسار واسم الصّورة أو يكفي اسمها في حال كانت ضمن ملف المشروع).

3_إظهار الصّورة.

4_تحويل الصّورة الملوّنة إلى رماديّة باستخدام تابع التّحويل ()cvtColor الّذي يأخذ الصورة الملوّنة وعمليّة التّحويل كمتغيّرات له.

5_إظهار الصّورة.

النَّتيجة كما تظهر بالشَّكل(1):

الشَّكل(1):  التَّحويل اللَّونيِّ من RGB إلى Gray.

إن رغبت في التّوسّع واستكشاف المكتبة أكثر قم بزيارة الموقع الرئيسي للمكتبة “من هنا“.

ساي باي Scipy

مكتبةٌ علميَّةٌ مفتوحةُ المصدر وتعتمد بشكل كامل على المصفوفات التي من النَّوع نام باي، تفيد في تطبيق الخوارزميَّات الرّياضيَّة كالتَّكامل والتَّفاضل وتحويلات فورييه، بالإضافة إلى خوارزميَّات كالتَّجميع Clustring أمّا بالنّسبة لمعالجة الصور فإنّها تحوي على توابع تضيف فلاتر على الصّورة كالتَّشويش noising والتَّنعيم Smoothing والعمليَّات الأساسيَّة كالتَّحويل اللَّونيّ والقصّ والتَّدوير .. وغيرها[5].

_مثالٌ عمليٌّ

سنقوم بعمليَّة تشويشٍ ضبابيّ Blurring لصورة باستخدام التّنقيّة الغوصيّة Gaussian filter كما يلي:

from scipy import misc, ndimage
import matplotlib. pyplot as plt
import numpy as np
image = misc.face()
blurred=ndimage. gaussian_filter(image, sigma=6)
plt.subplot(1,2,1)
plt.imshow(image)
plt.subplot(1,2,2)
plt.imshow (blurred)
plt.show ()

شرح التّعليمات:

1_تضمين الحزم الجزئيَّة من مكتبة ساي باي، ميسك misc تحوي على صورٍ محفوظة مسبقاً لعمليّة التّجريب، إن دي صورة ndimage تحوي على توابع تعديل وفلاتر جاهزة للصّور.

2_تضمين مكتبة ماتبلوت لعمليّة إظهار الصّور.

3_تضمين مكتبة نام باي للتّعامل مع المصفوفات.

4_إسناد صورة للتّعامل معها كمتحوّل(مصفوفة).

5_التّعديل على الصّورة باستخدام الفلتر الغوصي “تأثير الزّجاج” ويأخذ التّابع الصّورة ودرجة التّشويش كمتغيّرات له، وإسنادها لمتحوّل جديد.

10<<6_عرض الصّورة قبل التّعديل وبعده.

النَّتيجة كما تظهر بالشَّكل(2):

الشَّكل(2):  عمليَّة التَّشويش الضَّبابيِّ للصّورة “وكأنّها رؤية عبر الزّجاج”

إن رغبت في التّوسّع واستكشاف المكتبة أكثر قم بزيارة الموقع الرئيسي للمكتبة “من هنا“.

مكتبة صورة بايثون PIL(Python Image Library)

تُعرف حاليًّا باسم PILLOW، تُوفِّر هذه المكتبة دعمًا شاملًا لجميع تنسيقات ملفّات الصّور وإجراء العمليَّات الأساسيَّة عليها،  كتغيير الحجم والتَّدوير وإنشاء صور مصغَّرة والتَّحويل بين تنسيقات الملفّات، لكن توقَّف الدَّعم عنها منذ 2011 و ماتزال تحافظ على شعبيَّتها لبساطتها وسهولة التَّعامل مع توابعها كما أنّ لديها قدرة قويَّة إلى حدٍّ ما على معالجة الصّور[6].

_مثالٌ عمليٌّ

سنقوم بعمليَّة تدوير 180 درجة للصّورة كما يلي:

from PIL import img
im=img.open(‘Example.jpg’)
Out=im.rotate(180,expand=True)
Out.show()

شرح التّعليمات:

1_تضمين الحزمة الجزئيّة من مكتبة بايثون للصّور.

2_تابع لإحضار الصّورة وإسنادها لمتحوّل (يجب أن نضع مسار واسم الصّورة أو يكفي اسمها في حال كانت ضمن ملف المشروع).

3_تدوير الصّورة باستخدام تابع يأخذ درجة الدّوران وعملية التوسيع (إما false= تحديد أبعاد الصّورة “عدم إظهار الأجزاء التي تخرج عن أبعاد الأصليّة الصّورة” أو true= توسيع الأبعاد لعدم اقتطاع شيء من الصّورة) كمتغيّرات له وإسنادها لمتحوّل جديد.

4_إظهار الصّورة.

النَّتيجة كما تظهر بالشَّكل(3):

الشَّكل(3): الصّورة المدوّرة بتعليمة بسيطة.

إن رغبت في التّوسّع واستكشاف المكتبة أكثر قم بزيارة الموقع الرئيسي للمكتبة “من هنا“.

آي تي كي البسيطة SimpleITK

هي طبقة من ITK(Insight segmentation and registration ToolKit) “أداة التّقطيع والتّسجيل البصريّ”، هي من أكثر المكتبات استخدامًا في معالجة الصّور الطبيَّة، ويتمّ استخدامها بشكلٍ غير مباشر عبر برامج 3D slicer أو ITK_SNAP، وسبب استخدامها طبيًّا هو قدرتها العالية على تنقية الصّور دون إزالةٍ كبيرةٍ للشّوائب التي قد تعني الكثير في المجال الطبيّ “كخثرة الدَّم مثلًا”، ممَّا يساعد في القراءة الطبيَّة الصّحيحة، تَدعمُ العمليَّات على صورٍ ثنائيَّة وثلاثيَّة ورباعيَّة الأبعاد (ثلاثيَّة مع زمن) [7].

_مثالٌ عمليٌّ

سنقوم بعمليَّة تنعيم Smoothing لصورة طبيَّة كما يلي:

import SimpleITK
import matplotlib.pyplot as plt
idxSlice = 26
imgOriginal = SimpleITK.ReadImage("Brain.png")
sitk_show(imgOriginal[:, :, idxSlice])
imgSmooth = SimpleITK.CurvatureFlow(image1=imgOriginal, timeStep=0.125, numberOfIterations=5)
sitk_show(imgSmooth[:, :, idxSlice])

شرح التّعليمات:

1_تضمين مكتبة آي تي كي البسيطة SimpleITK.

2_تضمين مكتبة الرسم ماتبلوت Matplotlib.

3_متحوّل لتحديد رقم الشّريحة (بما أنّها صورة طبيّة تكون بعض الصّور عبارة عن عدّة لقطات متتالية وكأنّها فيديو قصير لذلك يكون البعد الثّالث هو لرقم الشّريحة “اللّقطة”)

4_إحضار الصّورة وإسنادها لمتحوّل.

5_إظهار الصّورة ذات رقم الشّريحة 26 (تستطيع تجريب رقم آخر).

6_استخدام تابع لتطبيق عمليّة تنعيم للصّورة يأخذ الصورة والخطوة الزمنية (كلّما كانت الخطوة الزمنيّة أصغر تصبح العمليّة أدق ولكن يتطلّب ذلك زيادة عدد التّكرارات) وعدد تّكرارات للعملية كمتغيّرات له وإسنادها لمتحوّل.

7_إظهار الصّورة المفلترة.

النَّتيجة كما تظهر بالشَّكل(4):

الشَّكل(4):  تنعيم الصّورة دون الإضرار بالتّفاصيل الدّقيقة.

إن رغبت في التّوسع واستكشاف المكتبة أكثر قم بزيارة الموقع الرئيسي للمكتبة “من هنا“.

ماهوتاس Mahotas

أيضًا أحد المكتبات المُستخدمة في معالجة الصّور، وبالإضافة لأدائها السَّريع وإمكانيَّة إضافة تأثيرات بكود بسيط، تستطيع مكتبة ماهوتاس الاستغناء عن مكتبة نام باي كمكتبة مساعدة لقراءة الصّور كمصفوفات، فهي تقرأها مباشرةً على أنَّها مصفوفة ممَّا يبسِّط الكود والتَّحويلات أكثر[8].

_مثالٌ عمليٌّ

سنقوم بعمليَّة رسمٍ بيانيٍّ “هيستوجرام” histogram لمعرفة توزيع الألوان ضمن الصّورة كما يلي:

import mahotas as ms
import matplotlib.pyplot as plt
img=ms.imread('Example.jpg')
plt.subplot(1,2,1)
plt.imshow(img)
img_hist=ms.fullhistogram(img)
plt.subplot(1,2,2)
plt.hist(img_hist)
plt.show()

شرح التّعليمات:

1_تضمين مكتبة ماهوتاس.

2_تضمين مكتبة الرّسم البيانيّ ماتبلوت.

3_قراءة الصّورة وإسنادها لمتحوّل (يجب أن نضع مسار واسم الصّورة أو يكفي اسمها في حال كانت ضمن ملف المشروع).

4_تجهيز حُجرة لإظهار الصّورة

5_إظهار الصّورة ضمن الحجرة.

6_إيجاد عدد البكسلات التي تنتمي لكل تدرّج لوني بشكل تمثيل بيانيّ وهذا ما يعرف بالهيستوجرام باستخدام التّابع ()fullhistogram وإسنادها لمتحوّل(مصفوفة).

7_تجهيز حُجرة لإظهار الهيستوجرام.

8_رسم الهيستوجرام ضمن الحجرة.

9_إظهار واجهة تحوي الصّور.

النَّتيجة كما تظهر بالشَّكل(5):

الشَّكل(5): احتواء اللَّون الأبيض في الصُّورة

يُظهِر المخطَّط في الشكل (5) بأنَّ أغلب الألوان ضمن الصّورة بيضاء أو قريبة من الأبيض، وهذا ما نراه في الصّورة “تحوي الكثير من المناطق البيضاء”.

إن رغبت في التّوسّع واستكشاف المكتبة أكثر قم بزيارة الموقع الرئيسي للمكتبة “من هنا“.

ساي كيت للصّور Scikit_image

وتُدعى أيضًا إس كي صورة skimage وهي حزمة مفتوحة المصدر مصمَّمة لمعالجة الصّور، إذا كنت قد تعاملت سابقًا مع مكتبة إس كي تعلُّم sklearn، فإنّ استخدام إس كي صورة skimage  يعتبر بمثابة قطعة من الكعكة لسهولة التعامل معها، حتى لو كنت جديدًا على بايثون فإنّ إس كي صورة skimage سهلة التعلُّم والاستخدام.

إنَّ مكتبة إس كي مبنيَّة على المكتبات نام باي Numpy وماتبلوت Matplotlib وساي باي scipy ويجب أن تكون تلك المكتبات موجودة عند استخدام إس كي صورة skimage.

تدعم عددًا كبيرًا من خوارزميَّات معالجة الصّورة التي تشمل التَّجزئة segmentation، والتّحويل الهندسيّ geometry، والتّنقية filtering واكتشاف المزايا features detection وغيرها[9].

_مثالٌ عمليٌّ

سنقوم بعمليَّة تجزئة للصّورة لنحدِّد حوافّ الرّأس كما يلي:

import numpy as np
import matplotlib.pyplot as plt
from skimage import data
from skimage.filters import gaussian
from skimage.segmentation import active_contour
img=img2=data.astronaut()
s = np.linspace(0, 2*np.pi, 400)
r = 100 + 100*np.sin(s)
c = 220 + 100*np.cos(s)
init = np.array([r, c]).T
snake = active_contour(gaussian(img, 3), init, alpha=0.015, beta=10, gamma=0.001)
fig, ax = plt.subplots(1,2,figsize=(7, 7))
ax[1].imshow(img, cmap=plt.cm.gray)
ax[1].plot(init[:, 1], init[:, 0], '--r', lw=3)
ax[1].plot(snake[:, 1], snake[:, 0], '-b', lw=3)
ax[1].set_xticks([]), ax[1].set_yticks([])
ax[1].axis([0, img.shape[1], img.shape[0], 0])
ax[0].imshow(img1, cmap=plt.cm.gray)
plt.show()

شرح التّعليمات:

1_تضمين مكتبة نام باي.

2_تضمين مكتبة الرّسم البيانيّ ماتبلوت.

3_تضمين حزمة البيانات(الّتي تحتوي على بعض الصّور للتجريب) من مكتبة إس كي صورة.

4_تضمين الفلتر الغوضي من حزمة الفلاتر من مكتبة إس كي صورة.

5_تضمين تابع تحديد الحواف من حزمة التّقطيع من مكتبة إس كي صورة.

6_إسناد متعدد إلى متحوّلين لنفس الصّورة(صورة رائد قضاء).

7_تحديد حجم الدّائرة(قمنا بتحديد الوجه ضمن الدّائرة)

8_حجم أسطر النّافذة(ابتداءً من أي سطر نحدده).

9_حجم أعمدة النّافذة(ابتداءً من أي عمود نحدده).

10_تجهيز مصفوفة بأبعاد الأسطر والأعمدة للنّافذة المحدّدة.

11_استخدام تابع لتحديد الحواف الّذي يأخذ الصّورة وحجم النّافذة الّتي سيتم المعالجة ضمنها وطول الخطوة عند تحديد الحافة ومعدّل التّنعيم عند تحديد الحافة وزمن خطوة التّعلم (رياضيّاً تلك المعاملات هي معاملات المعادلة التفاضليّة الّتي تعمل على اكتشاف الحواف).

12_تهيئة واجهة لإظهار الصّور ووضع حجرتين للصّورة الأصليّة والصّورة المعدّلة.

13_وضع الصّورة المعدّلة في الحجرة الثّانية.

14_إظهار الدّائرة(النّافذة) باللّون الأحمر.

15_إظهار الحواف المكتشفة باللّون الأزرق.

16_إظهار المحاور الإحداثيّة.

17_إظهار التّرقيم على المحاور الإحداثيّة.

18_وضع الصّورة الأصليّة في الحجرة الأولى.

19_عرض الواجهة مع الصّور.

النَّتيجة كما تظهر بالشَّكل(6):

الشَّكل(6): تحديد الحوافّ ضمن الدَّائرة الحمراء وإظهار تحديد للوجه.

إن رغبت في التّوسّع واستكشاف المكتبة أكثر قم بزيارة الموقع الرئيسي للمكتبة “من هنا“.

الخُلاصة:

الرُّؤية الحاسوبيَّة أحد أفرع الذَّكاء الصَّنعيِّ الَّذي يُركِّز على تطوير تقنيَّات تُساعد الحواسيب على رؤية وفهم المحتوى البصريّ بنفس طريقة البشر، لذا تم دعم لغة البرمجة بايثون بالمكتبات التي تقوم على معالجة الصُّور ومقاطع الفيديو واستخدام تعلُّم الآلة والتَّعلُّم العميق، بحيث تصبح قادرةً على تحديد وتصنيف الأشياء كما رأينا سابقاً ولكلِّ مكتبة زاويةٌ تستخدم بها فلجميع عمليّات معالجة الصّورة كالمكتبة المشهورة أوبن سي في OpenCV التي تمتاز بسرعتها، أما لتشخيص الأمراض فلدينا آي تي كي البسيطة SimpleITK التي تمتاز بدقتها وغيرهم من المكتبات البسيطة مثل ماهوتاس Mahotas ومكتبة صورة بايثون PIL الّتي ستكون محور إنطلاقتك للدخول في مجال الرّؤية الحاسوبيّة.

المراجع:

[1] Image Processing Libraries

[2] Numpy Library

[3] Matplotlib Library

[4] Opencv Library

[5] Scipy library

[6] PIL(pillow) Library

[7] Simpleitk Library

[8] Mahotas Library

[9] Scikit_image Library

0 Shares:
17 تعليق
    1. وعليكم السلام
      يمكنك جلب الصورة وتحديد الإحداثيات عليها باستخدام المكتبة المفتوحة للرؤية الحاسوبية OpenCV والأحداث Events الموجودين بداخل هذه المكتبة ومنهم حدث النقر على الفأرة.
      سأرسل لك تفاصيل أكثر على بريدك الالكتروني.
      شكراً.

  1. لو سمحت انا مكلف في اني اعمل المصفوفات وبالتحديد مصفوفة جاوس في تنقية او تصفية الصور
    يعني بدي استخدام المصفوفات في تنقية وتصفية الصور
    ملكيتش موقع ولا برنامج ممكن يعمل هيك
    ياريت تقلي عن الاشي لو عندك علم
    وشكرا لك

    1. يمكنك ذلك باستخدام مكتبة صور بايثون “PIL”، بعد قراءة الصورة التي تريد تنقيتها، تقوم باستخدام التابع filter وتضع بداخله قناع التنقية الذي ترغب تجربته وأحدهم التنقية الغاوصية “ImageFilter.GaussianBlur”.
      ويمكن ذلك أيضاً باستخدام مكتبة الرؤية الحاسوبية المفتوحة “OpenCV” بالشكل التالي “cv2.GaussianBlur” وتمرر له الصورة وأبعاد قناع التنقية.
      سأرسل لك تفاصيل أكثر على بريدك الالكتروني.
      شكراً.

  2. السلام عليكم
    حاولة بناء برنامج يعتمد على كاميرا تلتقط صور تخزنها في مواقع المصفوفه لكن لم احد الطريقة المناسبة لذلك
    ارجو المساعدة

  3. السلام عليكم
    حاولة عمل برنامج يقوم بالتقاط الصور من الكاميرا و تخزينها على مصفوفه معينه لكن لم اجد شرح يساعدني في ذلك
    ارجو المساعدة

    1. وعليكم السلام
      يمكنك استخدام مكتبة الرؤية الحاسوبية المفتوحة openCV لإلتقاط الصور عن طريق التابع VideoCapture(0) لتتمكن من الوصول للكاميرا ومن ثم التابع read لقراءة الصورة وتخزينها.
      سأرسل لك تفاصيل أكثر على بريدك الالكتروني.
      شكراً.

  4. لوسمحت ممكن مساعدة. تكرماً كيف اعالج الخلل لما اختبر صوره فيها تشويش مايتعرف. عليها
    واذا مافيها تشويه.. يتعرف عليها

    1. أهلاً
      تحتاجين لمعالجة البيانات قبل البدء بعملية التدريب أو الإختبار، هنالك توابع كثير في المكتبة المفتوحة للرؤية الحاسوبية(openCV) لإزالة التشويش عن الصورة، يمكنك جعلها مرحلة قبل دخول الصورة لعملية التدريب أو الإختبار.
      سأرسل لك تفاصيل أكثر على بريدك الالكتروني.
      شكراً.

  5. السلام عليكم بسأل عن معالجة الصور الاثرية واللوحات النادرة كيف أزيل عنها التشويش والضباب واجعلها أكثر وضوحا ونقاء وهل يمكنني استخدام تحويل فورير السريع في معالجة هذه الصور . الرجاء إرشادي وشكرا

    1. وعليكم السلام
      يمكن إزالة الضجيج من الصور باستخدام فلاتر ولها أنواع كثيرة وعديدة.
      منها الفلتر الغوصي لتقليل التباين في الصورة، والفلتر المتوسط لتقليل تباين البكسلات العشوائية، وفلتر التركيز لزيادة وضوح تفاصيل الصورة، ومن أحد عمليات الفلترة يمكن استخدام تحويل فورييه كما ذكرت، لكنه يستخدم أكثر لتوزيع الإضاءة في الصور.
      كما أن هنالك استخدام لطرق في التعلم العميق أيضاً لإزالة التشويش.
      الآن بما أن الصور التي لديك تحوي(تشويش وضباب)، أعتقد وبرأيي الشخصي أنك بحاجة إما لنوعين من الفلاتر أحدهما لتوزيع الإضاءة في الصورة لتتخلص من الضباب وتصبح الصورة أوضح مثل تحويل فورييه والآخر لإزالة التشويش مثل الفلتر المتوسط، أو أن تستخدم أحد شبكات التعلم العميق مثلاً شبكة تحسين جودة الصور PRIDNet.
      سأرسل لك تفاصيل أكثر على بريدك الالكتروني.
      شكراً.

    1. أرسلت إلك لمنحي سماحية الوصول لذلك الملف كي أستطيع مساعدتك ويتوضح ما تريده أكثر.
      عندها سأرسل إلك تفاصيل أكثر على بريدك الالكتروني.
      شكراً.

    1. شكراً على تعليقك الجميل أستاذ أحمد.
      أرسلت لك تفاصيل أكثر على بريدك الإلكتروني وأرجو أن تفيدك.
      شكراً.

  6. يعطيك العافيه يا رب
    في عندي اشكال لو ممكن يكون فيه حل عندك
    انا مختص بموضوع نظم المعلومات الجغرافيه
    و بتعامل مع الصور الجويه مثلا ” ارسم حدود المباني بإسقاط عامودي لكل مبنى موجود في الصوره ”
    مطلوب مني اعمل نفس العمل لكن على python و بدون ما استخدم مكتبة Arcpy
    يهدف لزيادة الدقه هل ممكن لو عندك مرجع معين أو شيء مباشر أطبق منه لحتى اتعلم
    يعني نفس مبدأ شرحك هون يكون مباشر و مفيد
    وشكرا

    1. السلام عليكم أستاذ سيف
      على ما أعتقد ستكون الدراسات والأبحاث السابقة التي تعالج ذات المشكلة مفيدة جداً لك، بالتأكيد هنالك مصادر متعددة عبر الإنترنت وبعد البحث انتقيت لك عدداً من تلك المصادر وأرسلتها إلى بريدك الإلكتروني.
      أرجو أن تكون مفيدة.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

You May Also Like
اقرأ المزيد

معالجة الصورة باستخدام المكتبةُ المفتوحةُ للرُّؤيةِ الحاسُوبيَّةِ (OpenCV)

المحتويــات المقدمة معالجة الصورة باستخدام مكتبة المكتبةُ المفتوحةُ للرُّؤيةِ الحاسُوبيَّةِ (OpenCv )في برمجة البايثون قراءة الصور وعرضها على…