1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
import cv2 from PyQt5 import QtCore, QtGui, QtWidgets import sift
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1004, 660) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.pushButton_SelectPic = QtWidgets.QPushButton(self.centralwidget) self.pushButton_SelectPic.setGeometry(QtCore.QRect(30, 390, 121, 23)) self.pushButton_SelectPic.setObjectName("pushButton_SelectPic") self.textEdit = QtWidgets.QTextEdit(self.centralwidget) self.textEdit.setGeometry(QtCore.QRect(20, 20, 450, 361)) self.textEdit.setObjectName("textEdit") self.textEdit_2 = QtWidgets.QTextEdit(self.centralwidget) self.textEdit_2.setGeometry(QtCore.QRect(520, 20, 450, 361)) self.textEdit_2.setObjectName("textEdit_2") self.pushButton_Sift = QtWidgets.QPushButton(self.centralwidget) self.pushButton_Sift.setGeometry(QtCore.QRect(30, 420, 121, 23)) self.pushButton_Sift.setObjectName("pushButton_Sift") self.pushButton_SelectDirectory = QtWidgets.QPushButton(self.centralwidget) self.pushButton_SelectDirectory.setGeometry(QtCore.QRect(30, 450, 121, 23)) self.pushButton_SelectDirectory.setObjectName("pushButton_SelectDirectory") self.pushButton_matching = QtWidgets.QPushButton(self.centralwidget) self.pushButton_matching.setGeometry(QtCore.QRect(30, 480, 121, 23)) self.pushButton_matching.setObjectName("pushButton_matching") self.label_match = QtWidgets.QLabel(self.centralwidget) self.label_match.setGeometry(QtCore.QRect(40, 550, 61, 16)) self.label_match.setObjectName("label_match") self.label_matchtime = QtWidgets.QLabel(self.centralwidget) self.label_matchtime.setGeometry(QtCore.QRect(100, 550, 81, 16)) self.label_matchtime.setObjectName("label_matchtime") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1004, 23)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar)
self.sift=sift.Sift_AI()
self.retranslateUi(MainWindow)
self.pushButton_SelectPic.clicked.connect(self.ClickOn_SelectPic) self.pushButton_Sift.clicked.connect(self.ClickOn_Sift) self.pushButton_SelectDirectory.clicked.connect(self.ClickOn_SelectDirectory) self.pushButton_matching.clicked.connect(self.ClickOn_Matching) QtCore.QMetaObject.connectSlotsByName(MainWindow) def ClickOn_SelectPic(self): self.sift.imgname1="".join(QtWidgets.QFileDialog.getOpenFileNames( None,"选取文件","./", "All Files (*);;Image(*.jpg *.png)" )[0]) self.textEdit.append("<img src=%s>"%(self.sift.imgname1)) def ClickOn_Sift(self): self.sift.Sift_feature_transform() def ClickOn_SelectDirectory(self): self.sift.DirPath="".join(QtWidgets.QFileDialog.getExistingDirectory( None,"选取文件夹","./" ))+"/" print(self.sift.DirPath) def ClickOn_Matching(self): self.sift.all_pic=[] self.sift.get_all_pic(self.sift.DirPath,self.sift.all_pic) print(self.sift.all_pic) comparisonImageList=self.sift.sift_fun(self.sift.all_pic) for i in range(1,4): cv2.imshow("%d"%i,comparisonImageList[i][0]) self.textEdit_2.append("<img src=%s>"%comparisonImageList[i][2])
def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.pushButton_SelectPic.setText(_translate("MainWindow", "选择图片")) self.pushButton_Sift.setText(_translate("MainWindow", "sift提取特征")) self.pushButton_SelectDirectory.setText(_translate("MainWindow", "选择待匹配图像目录")) self.pushButton_matching.setText(_translate("MainWindow", "匹配")) self.label_match.setText(_translate("MainWindow", "匹配时间:")) self.label_matchtime.setText(_translate("MainWindow", ""))
|