انا لم اشتغل على الماتلاب في دراستي لكن من هذا المنتدى والحمد لله تعلمت اسياسيات فيه وجدت هنا شرح لدروس معالجة الصور لكن ما فتحت معي , ارجو رفعها من جديد ولكم جزيل الشكر
الان لدي مشروع تطوير ف احتاج مساعده في بناء الكود على معالجة الصور بحيث يتم تنقية الصور بعد تحويلها الى باينري
بحيث الصوره المدخله يتم تقسيمها الى مربعات بحجم ثابت 13*13
ويتم حساب الـ[FONT="]thresholding
لكل مربع بناء على المعادله التاليه :
[/font]T(X,Y) = M(x,y)[FONT="]*(1+k (s(x,y) / R )
[/font]M(x,y)
[FONT="] المقصود فيه المتوسط بحيث ينقص اعلى قيمه من مستويات الرماديه باقل قيمه من مستويات الرماديه في المربع M(x,y)
k & R متغيرات ثابته
k=[/font][FONT="]0.15
R= 128
[/font]المقصود به الانحراف المعياري لا اعرف كيف يتم [FONT="]s(x,y)
للصور لكن وجدت ان هناك داله جاهزه بهذه الصيغه [/font][SIZE=4][COLOR=#790d0d] [FONT=Calibri]M1=std2(I)
هل هي تخص الصور الرماديه ام في الرياضيات لا اعلم ؟
بعد ما يتم حساب الـ [/font][/color][/size]thresholding
يتم تقسيم البكسلات الى 0 او 1
بحيث اذ كانت قيمة البكسل اقل من
[FONT="]thresholding
يكون لونه اسود وياخذ قيمة (0)
واذا كانت اكبرر (1) يكون ابيض
وهكذا … حتى يتم تصفية الصوره
ارجو ان تكون المشكله وضحت ارجو المساعده في الشرح وبناء الكود جزاك الله الجنه
يمكنك عمل المربعات من خلال for loop بخطوة قدرها 13 فى الاتجاهين
وفى كل مرة يتم حساب قيمة متوسط ال threshold المطلوبة والتعويض فى المعادلة المذكورة وايجاد قيم البيكسل الجديدة
اعتقد الموضوع سهل ولكن يجب عليك البدء فيه وان شاء الله سنساعد عن وجود اى مشكلة
البرنامج فيه خطأ داخل اللوب حيث ان المتغير Win(i,j)
أصغر من الصورة ولذلك سيعطى خطأ
??? Attempted to access Win(1,41); index out of bounds because size(Win)=[80,40].
Error in ==> Untitled7 at 13
con(Win(i,j))=max(Win(i:2*b))- min (Win(i:2*b)) / max(Win(i:2*b));