2013-02-21 53 views
8

के साथ एक छवि दिखा रहा है मैं इस सब के लिए अपेक्षाकृत नया हूं और मैंने यहां छवि विश्लेषण पर ट्यूटोरियल करना शुरू किया: http://www.pythonvision.org/basic-tutorial मैंने सभी मॉड्यूल स्थापित किए हैं लेकिन मुझे मारने से पहले बहुत दूर नहीं मिला एक झगड़ा जब pylab.imshow(dna) कदम यह निम्नलिखित त्रुटि देता है निष्पादित करने का प्रयास:pylab.imshow()

In [10]: pylab.imshow(dna) 
--------------------------------------------------------------------------- 
TypeError         Traceback (most recent call last) 
<ipython-input-10-fc86cadb4e46> in <module>() 
----> 1 pylab.imshow(dna) 

/usr/lib/pymodules/python2.7/matplotlib/pyplot.pyc in imshow(X, cmap, norm, aspect, interpolation, alpha, vmin, vmax, origin, extent, shape, filternorm, filterrad, imlim, resample, url, hold, **kwargs) 
    2375   ax.hold(hold) 
    2376  try: 
-> 2377   ret = ax.imshow(X, cmap, norm, aspect, interpolation, alpha, vmin, vmax, origin, extent, shape, filternorm, filterrad, imlim, resample, url, **kwargs) 
    2378   draw_if_interactive() 
    2379  finally: 

/usr/lib/pymodules/python2.7/matplotlib/axes.pyc in imshow(self, X, cmap, norm, aspect, interpolation, alpha, vmin, vmax, origin, extent, shape, filternorm, filterrad, imlim, resample, url, **kwargs) 
    6794      filterrad=filterrad, resample=resample, **kwargs) 
    6795 
-> 6796   im.set_data(X) 
    6797   im.set_alpha(alpha) 
    6798   self._set_artist_props(im) 

/usr/lib/pymodules/python2.7/matplotlib/image.pyc in set_data(self, A) 
    409   if (self._A.ndim not in (2, 3) or 
    410    (self._A.ndim == 3 and self._A.shape[-1] not in (3, 4))): 
--> 411    raise TypeError("Invalid dimensions for image data") 
    412 
    413   self._imcache =None 

TypeError: Invalid dimensions for image data 

काफी कुछ मैं पत्र के लिए ट्यूटोरियल में सभी निर्देशों का पालन किया है, लेकिन मैं बाहर काम नहीं कर सकता था गलत

जा रहा है धन्यवाद

+1

क्या है 'dna'? ('टाइप (डीएनए) 'और' dna.shape' क्या देता है?) यह 'टाइपरर'' बढ़ा रहा है क्योंकि यह एक प्रकार या आकार नहीं है जिसे 'imshow' जानता है कि कैसे निपटें। – tacaswell

+0

यह वही है जो छवि को 'dna = mahotas.imread (' dna.jpeg ')' 'type (dna) 'में सहेजा गया है, numpy.ndarray और' dna.shape' देता है (1024, 1344, 1) –

उत्तर

23

"यह सिर्फ क्या छवि डीएनए = mahotas.imread ('dna.jpeg') टाइप में रूप में सहेजा जाता है (डीएनए) numpy.ndarray देता है और dna.shape देता है (1024, 1344, 1)"

यह समस्या है, यदि y एक हाथ 3 डी ndarray में हाथ, यह उम्मीद करता है कि आपके पास 3 या 4 विमान (आरजीबी या आरजीबीए) होंगे। (स्टैक ट्रेस के अंतिम फ्रेम में लाइन 410 पर कोड पढ़ें)।

तुम बस अतिरिक्त आयाम

dna = dna.squeeze() 

या

imshow(dna.squeeze()) 

का उपयोग कर देखने के लिए क्या कर रही है squeeze से छुटकारा पाने की जरूरत है, निम्न उदाहरण देखें:

a = np.arange(25).reshape(5, 5, 1) 
print a.shape # (5, 5, 1) 
b = a.squeeze() 
print b.shape # (5, 5) 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^