الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اريد برامج يعمل مسح لصورة ويكشف عن لون محدد فيها ؟

بدأه ahmadou في 10 يوليو 2008 · 8 رد · 1,078 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

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

وبعد ذلك ... كيف يمكنني عمل مسح على فيديو والكشف عن القطعه الحمراء ووضع اطار حولها

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

جزاكم الله خيرا

#2

السلام عليكم ورحمة الله وبركاتة

اخي اقرأ قوانين القسم .

بالنسبة لمواضيع الطلبات .

كي لا يحذفون المشرفين موضوعك او يغلقونة .

الله يوفقك :lol:

Mysql

hm7bzmeskyfcyhsdmdv6.gif

#3

هل تقصد objects recognition ؟ التعرف على الاشكال ؟

هناك مكتبة مشهورة جدا OpenCV من شركة Intel تستطيع دمجها مع visual studio 2005 .

#4

اعمل مسح لكل نقطة في الصورة عن اللون الخاص بها اذا كان

مطابق للون الذي تريد اضف هذا اللون region (مساحة التحديد او المنطقة المحددة من الصورة)

تتم الاضافة بواسطة دمج النقطة (هي ايضا مساحة) مع المساحة السابقة وهكذا

حتي تحصل علي تحديد كامل للون ...

اذا كان هنالك عدة بقع (اشكال) متباعدة من اللون (فكر في استراتيجية لحل هذه المشكلة)

( _ /)

(='.'=)

(")-(")

#5

garo

المشكلة هي كيف يقوم بالدخول على كل pixel في الصورة وتحديد اللون ؟

هل يوجد متغير في MFC يقوم بتخزين الصورة ويسهل عملية الوصول لكل pixel داخل هذه الصورة ؟

#6

انا أجيبك عن Qt في الصف QImage يمكنك تفحص كل بكسل في الصورة

بإستخدام الأمر scanLine وهو يستقبل رقم الصف ويعيد اول عنصر من مصفوفة مؤشرات نصية uchar او unsigned char ومن ثم تعملها اعادة تعريف reInterpret_cast<QRgb*>scanLine(0);ok

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

بسم الله الرحمن الرحيم

مدونة دوال

كيوتي العربي

#7

مصفوفة لقد شوقتني لاستخدام الـQt :D

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#8

رايح انشر الخبر في المنتدى لعلهم يتبعوك :P

بسم الله الرحمن الرحيم

مدونة دوال

كيوتي العربي

#9
اقتباس
المشكلة هي كيف يقوم بالدخول على كل pixel في الصورة وتحديد اللون ؟

هل يوجد متغير في MFC يقوم بتخزين الصورة ويسهل عملية الوصول لكل pixel داخل هذه الصورة ؟

**** فتح الصور من ملف ****

استخدم الكائن CImage الخاص بالـMFC (الافضل في حالتك هذه)

استخدم الكائن Image الخاص بالـGDI+ او هنالك كائن Ole لكن لم اتذكره الان

استخدم مكتبات (موجودة في النت ولها شهرة) مثل CxImage و ImageAL

**** الحصول علي مصفوفة من البكسلات ****

عند استخدامك لواحدة من الطرق السابقة ستحصل علي كائن اما (HBITMAP) او HDC او BITMAP او BITMAPINFO يحتوي علي الصورة

اذا حولت هذا الكائن الي كائن BITMAPINFO سوف تصل الي كل بكسل عن طريق المتغير العضو

BITMAPINFO::RGBQUAD

اذا كانت لديك معرفة بهذه الاشياء يمكنك انجاز ما تريد بكل سهولة

CImage::Load

CImage::GetColorTable

**** عمل المسح ****

بعد الحصول علي جدول الالوان (هو في الحقيقية مصفوفة من البكسلات تمثل الصورة) يمكن عمل البحث داخلها عن لون معين

GetBValue

GetGValue

GetRValue

( _ /)

(='.'=)

(")-(")

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…