مساعدة في مادة معالجة الصور

السلام عليكم
الرجاء ممن يستطيع مساعدتي طلب منا الدكتور مادة معالجة الصور تحويل الصورة الموجودة بالمرفق والمسمى ب befor باستخدام كود المات لاب الي الصورة الموجودة بالمرفق المسمى after…,والتسليم قريب الرجاء عدم التاخر بالرد
,

[CENTER]حسنا

الظاهر انك تريد تحريك الدائرة فقط

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

[/center]

[CENTER]في الحقيقة هناك العديد من الطرق المختلفة لعمل هذا التحويل

ساتناول ابسطها في هذا الكود

clear all
clc
close all


I=imread('befor.png');
bw = im2bw(I, graythresh(I));
[m n]=size(bw);
L = bwlabel(bw);
imshow(I)


c  = regionprops(L, 'centroid');
centr = cat(1, c.Centroid);
ry = regionprops(L, 'area');
area=cat(1, ry.Area);
r=sqrt(4*area/pi);

NewC=[r/2 r/2];


[x, y] = meshgrid(1:m, 1:n);
disc = hypot(x-NewC(1,1), y-NewC(1,2))<r/2;
disc=disc*(1-graythresh(I));
M=mat2gray(disc,[0 1]);

figure
imshow(M);

الشرح

الكود ينقسم الى 4 اقسام

القسم الاول

قمنا بقراءة الصورة، وتحويلها الى مصفوفة ثنائية بواسطة الدالة im2bw
ثم قمنا بتحويل هذه المصفوفة الى مصفوفة "دلالية"
وهذا يعني اننا استخدمنا دالة bwlabel
التي تمكننا من تقسم الصورة وفصلها الى مناطق جسب قيم المصفوفة
في حالتنا لدينا منطقتين
الخلفية والقرص

القسم الثاني

قمنا باستخدام الدالة regionprops والتي تسمح لنا بايجاد خصائص المناطق الهندسية
اولا بحثنا عن “مركز ثقل” القرص
ثانيا عن القطر

القسم الثالث

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

NewC=[r/2 r/2];

لكن يمكننا وضعه اين نشاء
المهم عدم الخروج على اطار الصورة

[m n]

[COLOR=Blue]القسم الرابع

[/color]هنا قمنا اولا بانشاء صورة بنفس ابعاد الصورة الاصلية
ثم قمنا بانشاء قرص بنفس ابعاد القرص الاصلي
بعدها قمنا بالعملية العكسية
اي تحويل مصفوفة ثنائية الى صورة “مستوى رمادي” اي مثل الصورة الاصلية

[COLOR=Red]يمكنك تحريك القرص اين نشاء
بتغيير القيم

NewC=[r/2 r/2];

[/color]
[/center]

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

[CENTER]لما تكون الطلبات بسطية استطيع المساعدة

لكني اعتذر من الجميع اذا كان الامر يتطلب وقت لاني لا استطيع المساعدة
[/center]