القيام بالعمليات الحسابية على الصور في لغة بايثون باستخدام opencv

 

القيام بالعمليات الحسابية على الصور في لغة بايثون باستخدام opencv

القيام بالعمليات الحسابية على الصور في لغة بايثون باستخدام opencv

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


Python هي لغة برمجة عمرها ثلاثة عقود. أطلق عليها Guido van Rossum ، وهو مبرمج هولندي ، اسم Monty Python Flying Circus ، مجموعته الكوميدية المفضلة في ذلك الوقت. منذ ذلك الحين ، حدث الكثير.

لقد اجتذب مجتمعًا مزدهرًا من المتحمسين الذين يعملون على حل المشكلات وتوسيع قدرات الكود.


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


الكود المستخدم لعمل ضرب وقسمة وجمع وطرح على الصور

في هذا الكود سوف نحتاج الى مكتبة opencv وهذة المكتبة المخصصه للتعامل مع الصور والتي سبق وشرحنا لكم عنها الكثير من الاكواد والشروحات بكل بساطة نقوم بإدخال الصورة ومعرفة الshape الخاص بها وبعدها تطبيق العمليات عليها


import cv2
img = cv2.imread("image/image.jpg",0)
x,y = img.shape
def add():
    for i in range(x):
        for z in range(y):
            p = img[i,z]
            m = p+128
            if m>255:
                img[i,z]=255
            elif m<0:
                img[i,z] = 0
            else:
                img[i,z]=m
def sub():
    for i in range(x):
        for z in range(y):
            p = img[i,z]
            m = p-128
            if m>255:
                img[i,z]=255
            elif m<0:
                img[i,z] = 0
            else:
                img[i,z]=m
def mul():
    for i in range(x):
        for z in range(y):
            p = img[i,z]
            m = p*128
            if m>255:
                img[i,z]=255
            elif m<0:
                img[i,z] = 0
            else:
                img[i,z]=m
def dev():
    for i in range(x):
        for z in range(y):
            p = img[i,z]
            m = p/128
            if m>255:
                img[i,z]=255
            elif m<0:
                img[i,z] = 0
            else:
                img[i,z]=m
add()
cv2.imshow("add",img)
cv2.waitKey()
sub()
cv2.imshow("sub",img)
cv2.waitKey()
mul()
cv2.imshow("mul",img)
cv2.waitKey()
dev()
cv2.imshow("dev",img)
cv2.waitKey()


لمزيد من الاكواد والشروحات في بايثون يمكنك مشاهدة باقي المقالات على الموقع

تعليقات