1

pyqtgraph で tiff 画像をプロットしようとしています。

import numpy as np
import gdal
import pyqtgraph as pg
from PyQt4 import QtCore

gd = gdal.Open('myImage.tif')
data = np.array(gd.GetRasterBand(1).ReadAsArray())
pg.plot(data, title="my picture")

if __name__ == '__main__':
    import sys
    if sys.flags.interactive != 1 or not hasattr(QtCore, 'PYQT_VERSION'):
        pg.QtGui.QApplication.exec_()

エラーが発生します

Traceback (most recent call last):
  File "C:/Users/justin/PycharmProjects/pyqtgraph_examples/geotiff.py", line 18, in <module>
    pg.plot(data, title="my picture")
  File "C:\Python33\lib\site-packages\pyqtgraph\__init__.py", line 295, in plot
    w.plot(*args, **dataArgs)
  File "C:\Python33\lib\site-packages\pyqtgraph\graphicsItems\PlotItem\PlotItem.py", line 639, in plot
    item = PlotDataItem(*args, **kargs)
  File "C:\Python33\lib\site-packages\pyqtgraph\graphicsItems\PlotDataItem.py", line 165, in __init__
    self.setData(*args, **kargs)
  File "C:\Python33\lib\site-packages\pyqtgraph\graphicsItems\PlotDataItem.py", line 341, in setData
    dt = dataType(data)
  File "C:\Python33\lib\site-packages\pyqtgraph\graphicsItems\PlotDataItem.py", line 679, in dataType
    raise Exception('array shape must be (N,) or (N,2); got %s instead' % str(obj.shape))
Exception: array shape must be (N,) or (N,2); got (788, 744) instead

print(data.size) は (788,744) を返します。

numpy 配列の形式が間違っているか、間違った pyqtgraph 関数を使用していると考えていますが、次に何を試せばよいかはわかりません。

4

1 に答える 1