0
这里是场景。首先,我想将图像上传到GUI。稍后按另一个按钮我想处理这个上传的图像。现在,我可以在GUI中显示图像。但我对如何获得这个图像的名字一无所知,所以我通过按另一个按钮来处理这个图像。现在,这里是我的代码:现在如何将GUI上传的图像名称传递给另一个函数?
from PyQt4 import QtGui, QtCore
from PyQt4.QtGui import *
import sys
import cv2
from sklearn.externals import joblib
from sklearn.svm import LinearSVC
from skimage.feature import hog
import numpy as np
import os.path
class MainWindow(QtGui.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.setGeometry(100, 100, 1000,600)
self.setWindowTitle("HandWritten Image Recognition")
extractAction = QtGui.QAction("&Quit", self)
extractAction.setShortcut("Ctrl+Q")
extractAction.setStatusTip("Leave the App")
extractAction.triggered.connect(self.close_application)
openFile = QtGui.QAction("&Open File", self)
openFile.setShortcut("Ctrl+O")
openFile.setStatusTip("Open File")
openFile.triggered.connect(self.file_open)
processImage = QtGui.QAction("&Process Image", self)
processImage.setShortcut("Ctrl+A")
processImage.setStatusTip("Process Image")
processImage.triggered.connect(self.process_image)
mainMenu = self.menuBar()
fileMenu = mainMenu.addMenu('&File')
fileMenu.addAction(openFile)
fileMenu.addAction(processImage)
fileMenu.addAction(extractAction)
def file_open(self):
# This function is called when the user clicks File->Open.
filename = QtGui.QFileDialog.getOpenFileName()
print(filename)
label = QtGui.QLabel(self)
label.setGeometry(QtCore.QRect(0, 20, 1000, 580))
label.setSizePolicy(QtGui.QSizePolicy.Preferred,QtGui.QSizePolicy.Preferred)
label.setScaledContents(True)
pixmap = QtGui.QPixmap(filename)
label.setPixmap(pixmap)
label.show()
def process_image(self):
###Get Uploaded Image's Name
def close_application(self):
print("Why so hurry!!!")
sys.exit()
def main():
app = QtGui.QApplication(sys.argv)
win = MainWindow()
win.show()
app.exec_()
if __name__ == '__main__':
sys.exit(main())
,在process_image功能,我想使用上传的图像,这样我就可以进一步处理它。所以,为此我想知道上传图像的文件路径。请在这里指导我。
谢谢,它的工作就像一个魅力。我认为这是不可能的,因为没有人在这里给出答案,但无论如何感谢。 –