سؤال

الآن أولاً، لست متأكدًا حتى من أن هذا يسمى مصفوفة، وأنا جديد على MATLAB.لكن لنفترض أن لدي "مصفوفة" تبدو كما يلي:

for n=1:10
...
someImage = mat(:,:,n) %The "matrix"
...
end

أين n يمكن أن تكون الإطارات في مقطع فيديو، على سبيل المثال، والإطارين الأولين ':' هي بيانات الصف والعمود للصورة ثنائية الأبعاد (الإطار).

لو أردت الأول فقط ':' من البيانات (الصف؟عمود؟العنصر؟)، كيف يمكنني الوصول إلى ذلك فقط؟

بشكل حدسي، أعتقد شيئًا مثل:

row1 = mat(:,0,0)
row2 = mat(0,:,0)
row3 = mat(0,0,:)

ولكن لا يبدو أن هذا يعمل.

ملاحظة.أعلم أن هذه ليست صفوفًا حقًا، كما أن المصطلحات الخاصة بكل هذا ستكون موضع تقدير كبير أيضًا

أيضًا، قد لا يكون للأمر علاقة بهذا، لكنني أستخدم واجهة المستخدم الرسومية MATLAB أيضًا، ويتم تخزين "المصفوفة" على النحو التالي:

handles.mat(:,:,n)

لا أعتقد أن هذا له أي علاقة بسؤالي الفعلي، ولكن ربما سأضعه هنا

-شكرًا!

هل كانت مفيدة؟

المحلول

نقطة واحدة أود توضيحها قبل البدء:يبدأ MATLAB بالفهرسة في 1, ، و لا 0.هذا خطأ شائع يقع فيه معظم الأشخاص الذين لديهم خلفية برمجة C/Java/Python في MATLAB.

وأيضاً من خلال القيام بما يلي:

row1 = mat(:,1,1);

يؤدي هذا إلى الوصول إلى جميع صفوف العمود الأول والإطار الأول للفيديو الخاص بك.كن على علم بأن هذا سوف ينتج M x 1 ناقلات، حيث M يشير إلى عدد الصفوف للإطار في الفيديو الخاص بك.

أيضًا:

row2 = mat(1,:,1);

يؤدي هذا إلى الوصول إلى كافة الأعمدة الموجودة في الصف الأول من الإطار الأول.كن على علم بأن هذا سوف ينتج 1 x N ناقلات، حيث N يشير إلى عدد الأعمدة للإطار في الفيديو الخاص بك.

أيضًا:

row3 = mat(1,1,:);

يؤدي هذا إلى الوصول إلى جميع وحدات البكسل الموجودة في الملف كامل تسلسل الفيديو في الصف 1 والعمود 1.يمكنك التفكير في هذا كشريحة زمنية في الزاوية العلوية اليسرى من تسلسل الفيديو الخاص بك.كن على علم بأن هذا سوف ينتج 1 x 1 x T ناقلات، حيث T هو عدد الإطارات في الفيديو الخاص بك.إذا قمت بالوصول إلى موقع بكسل واحد فقط في الفيديو الخاص بك، فإن البعدين الأولين سيكونان غير ضروريين، وبالتالي يمكنك استخدام squeeze أمر لتقليص كافة الأبعاد المفردة بحيث يتم تبسيطها إلى a T x 1 المتجه.بمعنى آخر، افعل هذا:

row3 = squeeze(mat(1,1,:));

FWIW، لديك المصطلحات الصحيحة.يتم استخدام الصفوف والأعمدة في معالجة الصور/الفيديو طوال الوقت.أما بالنسبة لـ "المصفوفة"، فيمكنك تسميتها بـ تسلسل زمني أو أ تسلسل الإطار من حيث معالجة الفيديو.إنها بالتأكيد مصفوفة ثلاثية الأبعاد، لكن الأشخاص في هذا المجال يشيرون إليها على أنها واحدة من الاثنين لأنها في الحقيقة سلسلة من الصور/الإطارات مكدسة فوق بعضها البعض.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top