它有2个错误:
- 您必须将传递
bytesPerLine
给QImage trainOpenImg
设置对齐方式时,您会输入更多的“ n” 。
def displayImage(self): qformat =QImage.Format_Indexed8 if len(self.image.shape)==3: if self.image.shape[2] ==4: qformat=QImage.Format_RGBA8888 else: qformat=QImage.Format_RGB888 img = QtGui.QImage(self.image.data, self.image.shape[1], self.image.shape[0], self.image.strides[0], # <--- +++ qformat) img = img.rgbSwapped() self.trainOpenImg.setPixmap(QPixmap.fromImage(img)) self.trainOpenImg.setAlignment(QtCore.Qt.AlignCenter)
另一方面,IDE在处理某些类型的错误时遇到问题,只能启动代码,因此,在这种情况下,建议在CMD或终端中运行它,因为它们会为您提供更多信息,例如,在这种情况下,错误消息为:
Traceback (most recent call last): File "test.py", line 20, in loadClicked self.loadImage(fname) File "test.py", line 26, in loadImage self.displayImage() File "test.py", line 36, in displayImage img=QtGui.QImage(self.image.data,self.image.shape[1],self.image[0],QtGui.QImage.Format_RGB888)TypeError: arguments did not match any overloaded call: QImage(): too many arguments QImage(QSize, QImage.Format): argument 1 has unexpected type 'memoryview' QImage(int, int, QImage.Format): argument 1 has unexpected type 'memoryview' QImage(bytes, int, int, QImage.Format): argument 3 has unexpected type 'numpy.ndarray' QImage(sip.voidptr, int, int, QImage.Format): argument 3 has unexpected type 'numpy.ndarray' QImage(bytes, int, int, int, QImage.Format): argument 3 has unexpected type 'numpy.ndarray' QImage(sip.voidptr, int, int, int, QImage.Format): argument 3 has unexpected type 'numpy.ndarray' QImage(List[str]): argument 1 has unexpected type 'memoryview' QImage(str, format: str = None): argument 1 has unexpected type 'memoryview' QImage(QImage): argument 1 has unexpected type 'memoryview' QImage(Any): too many argumentsAborted (core dumped)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)