سؤال

اسمحوا لي أن أبدأ بالقول إنني أحبك. شكرا لك.

الترتيب التالي للعمل:

octave-3.2.3:8> xin = imread('3Phone.png');
octave-3.2.3:9> colormap(gray(256));
octave-3.2.3:10> image(xin);
error: invalid value for array property "cdata"
error: set: expecting argument 2 to be a property name
error: set: expecting argument 4 to be a property name
error: set: expecting argument 6 to be a property name
error: called from:
error:   /Applications/Octave.app/Contents/Resources/share/octave/3.2.3/m/image/__img__.m at line 57, column 7
error:   /Applications/Octave.app/Contents/Resources/share/octave/3.2.3/m/image/image.m at line 75, column 5
error: A(I): Index exceeds matrix dimension.
error: called from:
error:   /Applications/Octave.app/Contents/Resources/share/octave/3.2.3/m/plot/__go_draw_axes__.m at line 383, column 22
error:   /Applications/Octave.app/Contents/Resources/share/octave/3.2.3/m/plot/__go_draw_figure__.m at line 92, column 3
error:   /Applications/Octave.app/Contents/Resources/share/octave/3.2.3/m/plot/gnuplot_drawnow.m at line 91, column 5
octave-3.2.3:10> 

أنا أستخدم Octave 3.2.3 على Mac OS X (سنو ليوبارد). هذه محاولة أساسية للغاية لعرض صورة تم قراءة وتخزين الذاكرة. أي مساعدة على إصلاح هذه المشكلة سيكون موضع تقدير كبير. شكرا!

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

المحلول

تخميني، عند قراءة ملف PNG - تأكد من أنه ملف رمادي. خلاف ذلك هناك 3 مصفوفة (RGB). لذلك لا يمكنك استخدام colormap الرمادي.

إذا كان 2phone.png صورة ملونة، فحاول (على الأقل هذا ما سأفعله في Matlab):

xin = imread('3Phone.png');
image(xin(:, :, 1);
colormap(gray(256));

هذا من شأنه أن يعرض فقط مصفوفة ص.

أو أفضل، واستخدام RGB2GRAY. (بالطبع، استخدم ما يعادل اوكتاف).

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