انا الان اتعامل مع الصور وبعد مااحول الصورة الرماديه الى مصفوفه من 1و0
سيكون عندي اذا كان حجم المصفوفة 400-400
ستكون المصفوفة الجديدة مكونة من 160000-8
الان انا اريد ان اكون مصفوفتين من هذه المصفوفه وساضرب لك مثال
انا كتبت الكود التالي على الصورة ويطلع لي المصفوفة الاولى صحيحة لكن الثانية لا
A=imread('aaa.jpg');0
B=imresize(A,[400 400]);0
C=rgb2gray(B);0
D=des2bin(C);0
for i=1:160000
for j=1:4
M(i,j)=D(i,j);0
end
end
for i=1:160000
for j=5:8
L(i,j)=D(i,j);0
end
end
j=5:8 هذا بالنسبة للمصفوفة L غير ممكن لان هذه المصفوفة غير موجودة وسيقوم بالبرنامج بانشاءها من خلال for loop ولكن أين الاعمدة من 1 الى 4 حيث سيقوم البرنامج بعمل المصفوفة 8 أعمدة واول أربعة أعمدة ستكون بدون اى قيمة فى هذه الحالة وستكون صفر فى حالة ان نوع المصفوفة uint8
اخي الكريم اولا شكرا لك
ثانيا انا اتعلم الماتلاب لوحدي مع بعض المساعدة من دكتور في الجامعة لان مشروع تخرجي بالماتلاب لذلك اكتب الكود بالصيغة التي اعتقد انها تصح واشكرك فعلا لانك سهلت علي.
فعلا هذه المشكله هي التي تحدث لي
ساطبق الكود وارد عليك لانه مازال لدي استفسارات
واعذرني على الازعاج وكثرة الاسئلة
جزاك الله خيرا
المصفوفة الاولى مكونة من اربعة صفوف والثانية صف واحد ومطلوب ادخلها بين كل صفين من صفوف A
ولذلك المصفوفة C تستكون ستحتوى على عدد صفوف المصفوفة A بالاضافة الى عدد مرات الادخال وهى عدد صفوف A ناقص واحد .
ولذلك مثلا لو عدد صفوف A يساوى 10 سيكون عدد صفوف C يساوى 19
وسيتم ادخال صفوف المصفوفة A الفردية فقط الى المصفوفة C
والباقى سيتم ادخاله بالمصفوفة B
أما الامر الاتى :
M=D([COLOR=darkorange]:[/color],1:4)
يعنى جميع صفوف المصفوفة D والاعمدة من 1 الى 4 فقط وهذه تعنى : جميع الصفوف او جميع الاعمدة
ويرجى قراءة كيفية تعامل الماتلاب مع المصفوفات حيث لا يصح التعامل مع الماتلاب بدون علم
اخي الفاضل احاول ان اطبق ادخال المصفوفةB الصفرية في المصفوفةM
لكن للاسف تظهر لي مصفوفة جديده فيها ثلاث صفوف فارغة ثم صف فيه ارقام وهكذا
بالرغم من اني استخدمت نفس الدوال.
A=imread('h.jpg');
B=imresize(A,[400 400]);
C=rgb2gray(B);
D=dec2bin(C);
S=[0 0 0 0];
M = D(:,1:4);
L = D(:,5:end);
[N W] = size(M);
j = 1;
X(1,:)= M(1,:);
for i = 2: N + N
if (rem(i,2) == 1)
X(i,:)= M(i-j,:);
j = j + 1;
else
X(i,:) = S;
end
end
X
clear
A=imread('ward.jpg');
B=imresize(A,[400 400]);
C=rgb2gray(B);
D=dec2bin(C);
S=dec2bin(0);
M = D(:,1:4);
L = D(:,5:end);
[N W] = size(M);
j = 1;
X(1,:)= M(1,:);
for i = 2: N + N - 1
if (rem(i,2) == 1)
X(i,:)= M(i-j,:);
j = j + 1;
else
X(i,:) = S;
end
end
X