Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在pyqtgraph中正确缩放/旋转图像?_Python_Pyqt5_Qgraphicsview_Pyqtgraph - Fatal编程技术网

Python 如何在pyqtgraph中正确缩放/旋转图像?

Python 如何在pyqtgraph中正确缩放/旋转图像?,python,pyqt5,qgraphicsview,pyqtgraph,Python,Pyqt5,Qgraphicsview,Pyqtgraph,我已经在PyQt5中实现了pyqtgraph内部QGraphicsView。当我以以下方式显示图像时,它会以与屏幕相同的纵横比拉伸和展开。我该如何解决这个问题 image = pg.ImageItem(asarray(Image.open('pic.png')) ) self.graphicsView.addItem(image) image.rotate(270) 编辑:找到了如何旋转图像,所以我用解决方案更新了这个问题。现在我正在尝试正确地缩放它。您可能需要类似于: impo

我已经在PyQt5中实现了
pyqtgraph
内部
QGraphicsView
。当我以以下方式显示图像时,它会以与屏幕相同的纵横比拉伸和展开。我该如何解决这个问题

image = pg.ImageItem(asarray(Image.open('pic.png')) )      
self.graphicsView.addItem(image)
image.rotate(270) 

编辑:找到了如何旋转图像,所以我用解决方案更新了这个问题。现在我正在尝试正确地缩放它。

您可能需要类似于:

import pyqtgraph as pg
from PIL import Image
from numpy import asarray

app = pg.mkQApp()

# Set up a window with ViewBox inside
gv = pg.GraphicsView()
vb = pg.ViewBox()
gv.setCentralItem(vb)
gv.show()

# configure view for images
vb.setAspectLocked()
vb.invertY()

# display image
img_data = asarray(Image.open('/home/luke/tmp/graph.png'))
image = pg.ImageItem(img_data, axisOrder='row-major')
vb.addItem(image)
此处设置图像缩放/方向的重要部分包括:

  • 使用
    ImageItem(axisOrder='row-major')
    ,因为图像文件是按行主顺序存储的
  • vb.invertY()
    因为图像文件的+y轴指向下方
  • vb.setAspectLocked()
    以保持像素为方形

您可能需要以下内容:

import pyqtgraph as pg
from PIL import Image
from numpy import asarray

app = pg.mkQApp()

# Set up a window with ViewBox inside
gv = pg.GraphicsView()
vb = pg.ViewBox()
gv.setCentralItem(vb)
gv.show()

# configure view for images
vb.setAspectLocked()
vb.invertY()

# display image
img_data = asarray(Image.open('/home/luke/tmp/graph.png'))
image = pg.ImageItem(img_data, axisOrder='row-major')
vb.addItem(image)
此处设置图像缩放/方向的重要部分包括:

  • 使用
    ImageItem(axisOrder='row-major')
    ,因为图像文件是按行主顺序存储的
  • vb.invertY()
    因为图像文件的+y轴指向下方
  • vb.setAspectLocked()
    以保持像素为方形
我使用了
np.rot90()
取而代之的是,它更快、更简单

image=pg.ImageItem(np.rot90(np.asarray(image.open('pic.png')))
我使用了
np.rot90()
取而代之的是,它更快、更简单

image=pg.ImageItem(np.rot90(np.asarray(image.open('pic.png')))