كيف بنوها : Instagram الجزء الأول

عام 0 geek4arab
Spread the love

اليوم سأتحدت عن تطبيق و خدمة

Instagram

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

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

هذا التطبيق متوفر على الايفون و الأندرويد

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

بالامكان تخيل اي صورة كمصفوفة ثنائية البعد كما في الصورة السابقة بحيث حدود هذه المصفوفة هي طول و عرض الصورة و و النقطة الضوئية او البكسل هي اي نقطة x و y في الصورة

يتم تمثيل لون الصورة عن طريق مزج قيم ٣ الوان هي الأحمر و الأخضر و الأزرق(RGB) و كل لون لديه قيمة 256 قيمة ( من صفر الى ٢٥٥) وتمثل هذه القيم زيادة او نقصان تأثير هذا اللون في بكسل معين و بالتالي الصورة

اذن كيف نستفيد من هذه المعلومات في معرفة التأثيرات؟ الجواب ببساطة سنستخدم طرق تم دراستها في مواد بدائية في البرمجة و بعض العمليات الحسابية البسيطة جدا لعمل بعض التأثيرات الموجودة في هذا التطبيق

اولا تأثير اللون الرمادي او grayscale

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

لكن هنالك نقطة!!! قيم الالوان غير متساوية في البكسل الواحد… اذا كيف نستطيع تحديد قيمة للون ما لجعل البقية متساوية معها ؟

الاجابة بسيطة جدا .. ناخذ معدل قيم الألوان الثلاث و المعادلة بسيطة جدا

( R + G + B ) / 3

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

اذن بعملية حسابية بسيطة جدا و ببرمجة مستوى اول تم عمل تأثير مشهور جدا

ثانيا التأثير العكسي او Negative

تأثير ايضا معروف و يسهل شرحه بالصورة هذه

كما هو موضح في الصورة يقوم هذا التأثير بتبديل الألوان باللون المكمل له و لكن كيف نجد المكمل؟

كما شرحنا سابقا ان لكل لون في النقطة الضوئية قيم من ٠ الى ٢٥٥ و لايجاد المكمل ليس علينا سوى عمل طرح من قيمة اللون الحالي من ٢٥٥ و المعادلة ابسط

R = 255 – R

G = 255 – G

B = 255 – B

وهذا كفيل بعمل هذا التأثير و هنا الكود الخاص بها

بامكانك تنزيل اكواد التأثيرات و هناك ايضا تأثير ثالث فيها سيعجبكم ان شاء الله من هنا

اذا كل ما يتم عمله من تأثيرات في برامج تحرير الصور و غيره بهذه البساطة؟

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

اتمنى ان اكون افدتكم في الجزء الأول من هذه التدوينة و باذن الله انتظروا الجزء الثاني و سأحاول شرح بعض الأفكار و ما يحصل للصور و المستخدمين في سيرفرات انستاغرام ان شاء الله

اذا كان لديك اي استسفار حول هذه التدوينة لا تتردد بسؤالي هنا

بالتوفيق للجميع

سيف الحارثي

الكاتب geek4arab

geek4arab

مواضيع متعلقة

التعليقات مغلقة