繁体   English   中英

PyQT,从numpy数组加载数据时出错

[英]PyQT, error to load data from a numpy array

尝试从numpy数组设置像素图时,出现错误冲突访问。

0xC0000005: Access violation reading location 0x0ca00020

必须使用numpy数组。...无论如何我不会给问题

这是代码,错误在setPixmap操作中。

    from scipy import misc 
    numpy_image_uint8 = misc.imread('test.jpeg')
    #info_image=images[0]    
    #numpy_image_uint8=info_image.frames[0]
    numpy_image_uint32 = numpy_image_uint8.astype(np.uint32).copy()
    img = (255 << 24 | numpy_image_uint32[:,:,0] << 16 | numpy_image_uint32[:,:,1] << 8 | numpy_image_uint32[:,:,2]).flatten() # pack RGB values 
    imgQ = QImage(img,640,480,QImage.Format_RGB32)
    #imgQ = QImage(QtCore.QString('test.jpeg'))
    self.item.setPixmap(QPixmap.fromImage(imgQ))

此外,有两个有趣的观点:

  • 如果我使用从文件中加载的QImage ,它的工作原理如下:

     imgQ = QImage(QtCore.QString('test.jpeg')) 
  • 如果我保存imgQ变量,则保存的图像似乎正确:

     imgQ = QImage(img,640,480,QImage.Format_RGB32) imgQ.save("test_image.bmp") 

因为imgQimg共享内存,所以您需要使img保持活动状态。

尝试这个:

self.img = img
imgQ = QImage(self.img,640,480,QImage.Format_RGB32)

您能否提供更多信息,说明为什么要这样做?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM