Просмотр нескольких больших изображений в одном ViewBox - PullRequest
2 голосов
/ 02 апреля 2019

Я строю графический интерфейс, используя pyqtgraph для отображения большого изображения (~ 10 ГБ), а также маску изображения, которую я хотел бы иметь возможность быстро включать / выключать. Кто-нибудь имел успех переключаться между двумя большими изображениями в одном ViewBox?

Моей первой идеей было добавить несколько ImageItem экземпляров в представление, но, кажется, появляется только один. Я предполагаю, что это потому, что я просто показываю одно изображение поверх другого, но я не знаю, как отправить переднее изображение обратно.

Я также пытался просто инициировать один ImageItem и вызвать setImage() метод ImageItem

import numpy as np
from pyqtgraph.Qt import QtCore, QtGui
import pyqtgraph as pg

# Interpret image data as row-major instead of col-major
pg.setConfigOptions(imageAxisOrder='row-major')

app = QtGui.QApplication([])

## Create window with ImageView widget
win = QtGui.QMainWindow()
win.resize(800,800)
imv = pg.ImageView()
win.setCentralWidget(imv)
win.show()
win.setWindowTitle('pyqtgraph example: ImageView')

image_item1 = pg.ImageItem( np.random.randint(255, size=(1000,1000)) )
image_item2 = pg.ImageItem( np.random.randint(255, size=(1000,1000)) )

imv.view.addItem(image_item1)
imv.view.addItem(image_item2)

## Start Qt event loop unless running in interactive mode.
if __name__ == '__main__':
    import sys
    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
        QtGui.QApplication.instance().exec_()

Для меня имеет смысл, что с помощью этого метода будет показано только одно изображение, но я не уверен, как заставить появиться другое ImageItem.

Заранее спасибо!

...