|
|
|
|
@ -0,0 +1,449 @@
|
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
|
|
|
|
# Form implementation generated from reading ui file 'ui_file_1.ui'
|
|
|
|
|
#
|
|
|
|
|
# Created by: PyQt5 UI code generator 5.15.7
|
|
|
|
|
#
|
|
|
|
|
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
|
|
|
|
# run again. Do not edit this file unless you know what you are doing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from PyQt5 import QtCore, QtGui, QtWidgets
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Ui_mainWindow(object):
|
|
|
|
|
def setupUi(self, mainWindow):
|
|
|
|
|
mainWindow.setObjectName("mainWindow")
|
|
|
|
|
mainWindow.resize(729, 526)
|
|
|
|
|
mainWindow.setStyleSheet("QLabel { \n"
|
|
|
|
|
" color:#5c4033 ;\n"
|
|
|
|
|
" font-size:16px;\n"
|
|
|
|
|
" border:0px solid #b5a642;\n"
|
|
|
|
|
" font-family:幼圆;\n"
|
|
|
|
|
" background-color: silver\n"
|
|
|
|
|
"}\n"
|
|
|
|
|
"\n"
|
|
|
|
|
"QGroupBox {\n"
|
|
|
|
|
" font-family:幼圆;\n"
|
|
|
|
|
" font-size:16px;\n"
|
|
|
|
|
"}\n"
|
|
|
|
|
"\n"
|
|
|
|
|
"QPushButton {\n"
|
|
|
|
|
" border: 1px solid rgb(124, 124, 124);\n"
|
|
|
|
|
" background-color: qconicalgradient(cx:0.5, cy:0.5, angle:180, stop:0.49999 rgba(214, 214, 214, 255), stop:0.50001 rgba(236, 236, 236, 255)); \n"
|
|
|
|
|
" border-radius:30px;\n"
|
|
|
|
|
" font-family:微软雅黑;\n"
|
|
|
|
|
" font-size:25px;\n"
|
|
|
|
|
"}\n"
|
|
|
|
|
"\n"
|
|
|
|
|
"QPushButton:hover{\n"
|
|
|
|
|
" border: 1px solid #3C80B1;\n"
|
|
|
|
|
" background-color: qconicalgradient(cx:0.5, cy:0.5, angle:180, stop:0.49999 rgba(181, 225, 250, 255), stop:0.50001 rgba(222, 242, 251, 255));\n"
|
|
|
|
|
" border-radius:5px;\n"
|
|
|
|
|
"}\n"
|
|
|
|
|
"\n"
|
|
|
|
|
"QPushButton:pressed{\n"
|
|
|
|
|
" border: 1px solid #5F92B2;\n"
|
|
|
|
|
" background-color: qconicalgradient(cx:0.5, cy:0.5, angle:180, stop:0.49999 rgba(134, 198, 233, 255), stop:0.50001 rgba(206, 234, 248, 255));\n"
|
|
|
|
|
" border-radius:5px;\n"
|
|
|
|
|
"}")
|
|
|
|
|
self.centralwidget = QtWidgets.QWidget(mainWindow)
|
|
|
|
|
self.centralwidget.setObjectName("centralwidget")
|
|
|
|
|
self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
|
|
|
|
|
self.verticalLayout.setObjectName("verticalLayout")
|
|
|
|
|
self.horizontalLayout = QtWidgets.QHBoxLayout()
|
|
|
|
|
self.horizontalLayout.setContentsMargins(-1, -1, -1, 10)
|
|
|
|
|
self.horizontalLayout.setObjectName("horizontalLayout")
|
|
|
|
|
self.original_group = QtWidgets.QGroupBox(self.centralwidget)
|
|
|
|
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
|
|
|
|
|
sizePolicy.setHorizontalStretch(0)
|
|
|
|
|
sizePolicy.setVerticalStretch(0)
|
|
|
|
|
sizePolicy.setHeightForWidth(self.original_group.sizePolicy().hasHeightForWidth())
|
|
|
|
|
self.original_group.setSizePolicy(sizePolicy)
|
|
|
|
|
font = QtGui.QFont()
|
|
|
|
|
font.setFamily("幼圆")
|
|
|
|
|
font.setPointSize(-1)
|
|
|
|
|
self.original_group.setFont(font)
|
|
|
|
|
self.original_group.setObjectName("original_group")
|
|
|
|
|
self.gridLayout_2 = QtWidgets.QGridLayout(self.original_group)
|
|
|
|
|
self.gridLayout_2.setObjectName("gridLayout_2")
|
|
|
|
|
self.ori_pic = QtWidgets.QLabel(self.original_group)
|
|
|
|
|
self.ori_pic.setText("")
|
|
|
|
|
self.ori_pic.setScaledContents(True)
|
|
|
|
|
self.ori_pic.setObjectName("ori_pic")
|
|
|
|
|
self.gridLayout_2.addWidget(self.ori_pic, 0, 0, 1, 1)
|
|
|
|
|
self.horizontalLayout.addWidget(self.original_group)
|
|
|
|
|
self.fixed_group = QtWidgets.QGroupBox(self.centralwidget)
|
|
|
|
|
font = QtGui.QFont()
|
|
|
|
|
font.setFamily("幼圆")
|
|
|
|
|
font.setPointSize(-1)
|
|
|
|
|
self.fixed_group.setFont(font)
|
|
|
|
|
self.fixed_group.setMouseTracking(False)
|
|
|
|
|
self.fixed_group.setObjectName("fixed_group")
|
|
|
|
|
self.gridLayout = QtWidgets.QGridLayout(self.fixed_group)
|
|
|
|
|
self.gridLayout.setObjectName("gridLayout")
|
|
|
|
|
self.fixed_pic = QtWidgets.QLabel(self.fixed_group)
|
|
|
|
|
self.fixed_pic.setText("")
|
|
|
|
|
self.fixed_pic.setScaledContents(True)
|
|
|
|
|
self.fixed_pic.setObjectName("fixed_pic")
|
|
|
|
|
self.gridLayout.addWidget(self.fixed_pic, 0, 0, 1, 1)
|
|
|
|
|
self.horizontalLayout.addWidget(self.fixed_group)
|
|
|
|
|
self.horizontalLayout.setStretch(0, 1)
|
|
|
|
|
self.horizontalLayout.setStretch(1, 1)
|
|
|
|
|
self.verticalLayout.addLayout(self.horizontalLayout)
|
|
|
|
|
self.gridLayout_4 = QtWidgets.QGridLayout()
|
|
|
|
|
self.gridLayout_4.setContentsMargins(-1, -1, -1, 10)
|
|
|
|
|
self.gridLayout_4.setObjectName("gridLayout_4")
|
|
|
|
|
self.origin_label = QtWidgets.QLabel(self.centralwidget)
|
|
|
|
|
self.origin_label.setAlignment(QtCore.Qt.AlignCenter)
|
|
|
|
|
self.origin_label.setObjectName("origin_label")
|
|
|
|
|
self.gridLayout_4.addWidget(self.origin_label, 0, 0, 1, 1)
|
|
|
|
|
self.origin_pic_path = QtWidgets.QLabel(self.centralwidget)
|
|
|
|
|
font = QtGui.QFont()
|
|
|
|
|
font.setFamily("幼圆")
|
|
|
|
|
font.setPointSize(-1)
|
|
|
|
|
self.origin_pic_path.setFont(font)
|
|
|
|
|
self.origin_pic_path.setAlignment(QtCore.Qt.AlignCenter)
|
|
|
|
|
self.origin_pic_path.setObjectName("origin_pic_path")
|
|
|
|
|
self.gridLayout_4.addWidget(self.origin_pic_path, 0, 1, 1, 1)
|
|
|
|
|
self.gridLayout_4.setColumnStretch(0, 1)
|
|
|
|
|
self.gridLayout_4.setColumnStretch(1, 3)
|
|
|
|
|
self.verticalLayout.addLayout(self.gridLayout_4)
|
|
|
|
|
self.gridLayout_3 = QtWidgets.QGridLayout()
|
|
|
|
|
self.gridLayout_3.setContentsMargins(-1, -1, -1, 10)
|
|
|
|
|
self.gridLayout_3.setObjectName("gridLayout_3")
|
|
|
|
|
self.save_label = QtWidgets.QLabel(self.centralwidget)
|
|
|
|
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
|
|
|
|
|
sizePolicy.setHorizontalStretch(0)
|
|
|
|
|
sizePolicy.setVerticalStretch(0)
|
|
|
|
|
sizePolicy.setHeightForWidth(self.save_label.sizePolicy().hasHeightForWidth())
|
|
|
|
|
self.save_label.setSizePolicy(sizePolicy)
|
|
|
|
|
self.save_label.setAlignment(QtCore.Qt.AlignCenter)
|
|
|
|
|
self.save_label.setObjectName("save_label")
|
|
|
|
|
self.gridLayout_3.addWidget(self.save_label, 0, 0, 1, 1)
|
|
|
|
|
self.save_pic_path = QtWidgets.QLabel(self.centralwidget)
|
|
|
|
|
self.save_pic_path.setAlignment(QtCore.Qt.AlignCenter)
|
|
|
|
|
self.save_pic_path.setObjectName("save_pic_path")
|
|
|
|
|
self.gridLayout_3.addWidget(self.save_pic_path, 0, 1, 1, 1)
|
|
|
|
|
self.gridLayout_3.setColumnStretch(0, 1)
|
|
|
|
|
self.gridLayout_3.setColumnStretch(1, 3)
|
|
|
|
|
self.verticalLayout.addLayout(self.gridLayout_3)
|
|
|
|
|
self.verticalLayout.setStretch(0, 10)
|
|
|
|
|
self.verticalLayout.setStretch(1, 1)
|
|
|
|
|
mainWindow.setCentralWidget(self.centralwidget)
|
|
|
|
|
self.menubar = QtWidgets.QMenuBar(mainWindow)
|
|
|
|
|
self.menubar.setEnabled(True)
|
|
|
|
|
self.menubar.setGeometry(QtCore.QRect(0, 0, 729, 23))
|
|
|
|
|
self.menubar.setCursor(QtGui.QCursor(QtCore.Qt.CrossCursor))
|
|
|
|
|
self.menubar.setObjectName("menubar")
|
|
|
|
|
self.file_menu = QtWidgets.QMenu(self.menubar)
|
|
|
|
|
self.file_menu.setEnabled(True)
|
|
|
|
|
self.file_menu.setObjectName("file_menu")
|
|
|
|
|
self.geo_menu = QtWidgets.QMenu(self.menubar)
|
|
|
|
|
self.geo_menu.setEnabled(True)
|
|
|
|
|
self.geo_menu.setObjectName("geo_menu")
|
|
|
|
|
self.RotateMenu = QtWidgets.QMenu(self.geo_menu)
|
|
|
|
|
self.RotateMenu.setObjectName("RotateMenu")
|
|
|
|
|
self.denoising_menu = QtWidgets.QMenu(self.menubar)
|
|
|
|
|
self.denoising_menu.setEnabled(True)
|
|
|
|
|
self.denoising_menu.setObjectName("denoising_menu")
|
|
|
|
|
self.Noise_menu = QtWidgets.QMenu(self.denoising_menu)
|
|
|
|
|
self.Noise_menu.setObjectName("Noise_menu")
|
|
|
|
|
self.Filter_menu = QtWidgets.QMenu(self.denoising_menu)
|
|
|
|
|
self.Filter_menu.setObjectName("Filter_menu")
|
|
|
|
|
self.Statistic_Filtering_menu = QtWidgets.QMenu(self.Filter_menu)
|
|
|
|
|
self.Statistic_Filtering_menu.setObjectName("Statistic_Filtering_menu")
|
|
|
|
|
self.Choice_menu = QtWidgets.QMenu(self.Filter_menu)
|
|
|
|
|
self.Choice_menu.setObjectName("Choice_menu")
|
|
|
|
|
self.color_menu = QtWidgets.QMenu(self.menubar)
|
|
|
|
|
self.color_menu.setObjectName("color_menu")
|
|
|
|
|
self.menuRGB = QtWidgets.QMenu(self.color_menu)
|
|
|
|
|
self.menuRGB.setObjectName("menuRGB")
|
|
|
|
|
self.menuHSV = QtWidgets.QMenu(self.color_menu)
|
|
|
|
|
self.menuHSV.setObjectName("menuHSV")
|
|
|
|
|
self.histogram_menu = QtWidgets.QMenu(self.menubar)
|
|
|
|
|
self.histogram_menu.setObjectName("histogram_menu")
|
|
|
|
|
self.advancecd_menu = QtWidgets.QMenu(self.menubar)
|
|
|
|
|
self.advancecd_menu.setObjectName("advancecd_menu")
|
|
|
|
|
self.edge_menu = QtWidgets.QMenu(self.advancecd_menu)
|
|
|
|
|
self.edge_menu.setObjectName("edge_menu")
|
|
|
|
|
self.menuHough = QtWidgets.QMenu(self.advancecd_menu)
|
|
|
|
|
self.menuHough.setObjectName("menuHough")
|
|
|
|
|
self.mophology_menu = QtWidgets.QMenu(self.menubar)
|
|
|
|
|
self.mophology_menu.setObjectName("mophology_menu")
|
|
|
|
|
self.faceMenu = QtWidgets.QMenu(self.menubar)
|
|
|
|
|
self.faceMenu.setObjectName("faceMenu")
|
|
|
|
|
self.videoMenu = QtWidgets.QMenu(self.menubar)
|
|
|
|
|
self.videoMenu.setObjectName("videoMenu")
|
|
|
|
|
mainWindow.setMenuBar(self.menubar)
|
|
|
|
|
self.statusbar = QtWidgets.QStatusBar(mainWindow)
|
|
|
|
|
self.statusbar.setObjectName("statusbar")
|
|
|
|
|
mainWindow.setStatusBar(self.statusbar)
|
|
|
|
|
self.Mirror_H_menu = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.Mirror_H_menu.setObjectName("Mirror_H_menu")
|
|
|
|
|
self.Mirror_V_menu = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.Mirror_V_menu.setObjectName("Mirror_V_menu")
|
|
|
|
|
self.Histogram_Equalization2_menu = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.Histogram_Equalization2_menu.setObjectName("Histogram_Equalization2_menu")
|
|
|
|
|
self.Histogram_Equalization_menu = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.Histogram_Equalization_menu.setObjectName("Histogram_Equalization_menu")
|
|
|
|
|
self.Salt_And_Pepper_Noise_menu = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.Salt_And_Pepper_Noise_menu.setObjectName("Salt_And_Pepper_Noise_menu")
|
|
|
|
|
self.Gauss_Noise_menu = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.Gauss_Noise_menu.setObjectName("Gauss_Noise_menu")
|
|
|
|
|
self.Gaussian_Blur_menu = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.Gaussian_Blur_menu.setObjectName("Gaussian_Blur_menu")
|
|
|
|
|
self.Average_Filtering_menu = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.Average_Filtering_menu.setObjectName("Average_Filtering_menu")
|
|
|
|
|
self.grey_info = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.grey_info.setObjectName("grey_info")
|
|
|
|
|
self.Open_btn = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.Open_btn.setObjectName("Open_btn")
|
|
|
|
|
self.ImageResize_t = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.ImageResize_t.setObjectName("ImageResize_t")
|
|
|
|
|
self.ImageResize_p = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.ImageResize_p.setObjectName("ImageResize_p")
|
|
|
|
|
self.ImageMove = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.ImageMove.setObjectName("ImageMove")
|
|
|
|
|
self.extractB = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.extractB.setObjectName("extractB")
|
|
|
|
|
self.extractG = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.extractG.setObjectName("extractG")
|
|
|
|
|
self.extractR = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.extractR.setObjectName("extractR")
|
|
|
|
|
self.extractH = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.extractH.setObjectName("extractH")
|
|
|
|
|
self.extractS = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.extractS.setObjectName("extractS")
|
|
|
|
|
self.extractV = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.extractV.setObjectName("extractV")
|
|
|
|
|
self.Mirror_C_menu = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.Mirror_C_menu.setObjectName("Mirror_C_menu")
|
|
|
|
|
self.GreyHistogram = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.GreyHistogram.setObjectName("GreyHistogram")
|
|
|
|
|
self.ColorHistogram = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.ColorHistogram.setObjectName("ColorHistogram")
|
|
|
|
|
self.ImageEnhance = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.ImageEnhance.setObjectName("ImageEnhance")
|
|
|
|
|
self.RobertsOperator = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.RobertsOperator.setObjectName("RobertsOperator")
|
|
|
|
|
self.SobelOperator = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.SobelOperator.setObjectName("SobelOperator")
|
|
|
|
|
self.LaplacianOperator = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.LaplacianOperator.setObjectName("LaplacianOperator")
|
|
|
|
|
self.LoGOperator = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.LoGOperator.setObjectName("LoGOperator")
|
|
|
|
|
self.actionCanny = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.actionCanny.setObjectName("actionCanny")
|
|
|
|
|
self.Erosion = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.Erosion.setObjectName("Erosion")
|
|
|
|
|
self.Inflation = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.Inflation.setObjectName("Inflation")
|
|
|
|
|
self.OpenOperation = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.OpenOperation.setObjectName("OpenOperation")
|
|
|
|
|
self.CloseOperation = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.CloseOperation.setObjectName("CloseOperation")
|
|
|
|
|
self.Save_btn = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.Save_btn.setObjectName("Save_btn")
|
|
|
|
|
self.FreeRotation = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.FreeRotation.setObjectName("FreeRotation")
|
|
|
|
|
self.FixedRotation = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.FixedRotation.setObjectName("FixedRotation")
|
|
|
|
|
self.leastFilter = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.leastFilter.setObjectName("leastFilter")
|
|
|
|
|
self.middleFilter = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.middleFilter.setObjectName("middleFilter")
|
|
|
|
|
self.LargestFilter = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.LargestFilter.setObjectName("LargestFilter")
|
|
|
|
|
self.passFilter = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.passFilter.setObjectName("passFilter")
|
|
|
|
|
self.blockFilter = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.blockFilter.setObjectName("blockFilter")
|
|
|
|
|
self.faceDetection = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.faceDetection.setObjectName("faceDetection")
|
|
|
|
|
self.StraightDetect = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.StraightDetect.setObjectName("StraightDetect")
|
|
|
|
|
self.CurveDetect = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.CurveDetect.setObjectName("CurveDetect")
|
|
|
|
|
self.videoDetkt = QtWidgets.QAction(mainWindow)
|
|
|
|
|
self.videoDetkt.setObjectName("videoDetkt")
|
|
|
|
|
self.file_menu.addAction(self.Open_btn)
|
|
|
|
|
self.file_menu.addAction(self.Save_btn)
|
|
|
|
|
self.RotateMenu.addSeparator()
|
|
|
|
|
self.RotateMenu.addAction(self.FreeRotation)
|
|
|
|
|
self.RotateMenu.addAction(self.FixedRotation)
|
|
|
|
|
self.geo_menu.addAction(self.ImageMove)
|
|
|
|
|
self.geo_menu.addAction(self.ImageResize_t)
|
|
|
|
|
self.geo_menu.addAction(self.ImageResize_p)
|
|
|
|
|
self.geo_menu.addAction(self.Mirror_H_menu)
|
|
|
|
|
self.geo_menu.addAction(self.Mirror_V_menu)
|
|
|
|
|
self.geo_menu.addAction(self.Mirror_C_menu)
|
|
|
|
|
self.geo_menu.addAction(self.RotateMenu.menuAction())
|
|
|
|
|
self.Noise_menu.addAction(self.Salt_And_Pepper_Noise_menu)
|
|
|
|
|
self.Noise_menu.addAction(self.Gauss_Noise_menu)
|
|
|
|
|
self.Statistic_Filtering_menu.addSeparator()
|
|
|
|
|
self.Statistic_Filtering_menu.addAction(self.leastFilter)
|
|
|
|
|
self.Statistic_Filtering_menu.addAction(self.middleFilter)
|
|
|
|
|
self.Statistic_Filtering_menu.addAction(self.LargestFilter)
|
|
|
|
|
self.Choice_menu.addAction(self.passFilter)
|
|
|
|
|
self.Choice_menu.addAction(self.blockFilter)
|
|
|
|
|
self.Filter_menu.addAction(self.Gaussian_Blur_menu)
|
|
|
|
|
self.Filter_menu.addAction(self.Average_Filtering_menu)
|
|
|
|
|
self.Filter_menu.addAction(self.Statistic_Filtering_menu.menuAction())
|
|
|
|
|
self.Filter_menu.addAction(self.Choice_menu.menuAction())
|
|
|
|
|
self.denoising_menu.addAction(self.Noise_menu.menuAction())
|
|
|
|
|
self.denoising_menu.addAction(self.Filter_menu.menuAction())
|
|
|
|
|
self.menuRGB.addAction(self.extractB)
|
|
|
|
|
self.menuRGB.addAction(self.extractG)
|
|
|
|
|
self.menuRGB.addAction(self.extractR)
|
|
|
|
|
self.menuHSV.addAction(self.extractH)
|
|
|
|
|
self.menuHSV.addAction(self.extractS)
|
|
|
|
|
self.menuHSV.addAction(self.extractV)
|
|
|
|
|
self.color_menu.addAction(self.menuRGB.menuAction())
|
|
|
|
|
self.color_menu.addAction(self.menuHSV.menuAction())
|
|
|
|
|
self.color_menu.addAction(self.grey_info)
|
|
|
|
|
self.histogram_menu.addAction(self.GreyHistogram)
|
|
|
|
|
self.histogram_menu.addAction(self.ColorHistogram)
|
|
|
|
|
self.edge_menu.addAction(self.RobertsOperator)
|
|
|
|
|
self.edge_menu.addAction(self.SobelOperator)
|
|
|
|
|
self.edge_menu.addAction(self.LaplacianOperator)
|
|
|
|
|
self.edge_menu.addAction(self.LoGOperator)
|
|
|
|
|
self.edge_menu.addAction(self.actionCanny)
|
|
|
|
|
self.menuHough.addSeparator()
|
|
|
|
|
self.menuHough.addAction(self.StraightDetect)
|
|
|
|
|
self.menuHough.addAction(self.CurveDetect)
|
|
|
|
|
self.advancecd_menu.addAction(self.ImageEnhance)
|
|
|
|
|
self.advancecd_menu.addAction(self.edge_menu.menuAction())
|
|
|
|
|
self.advancecd_menu.addAction(self.menuHough.menuAction())
|
|
|
|
|
self.mophology_menu.addAction(self.Erosion)
|
|
|
|
|
self.mophology_menu.addAction(self.Inflation)
|
|
|
|
|
self.mophology_menu.addAction(self.OpenOperation)
|
|
|
|
|
self.mophology_menu.addAction(self.CloseOperation)
|
|
|
|
|
self.faceMenu.addAction(self.faceDetection)
|
|
|
|
|
self.videoMenu.addAction(self.videoDetkt)
|
|
|
|
|
self.menubar.addAction(self.file_menu.menuAction())
|
|
|
|
|
self.menubar.addAction(self.color_menu.menuAction())
|
|
|
|
|
self.menubar.addAction(self.geo_menu.menuAction())
|
|
|
|
|
self.menubar.addAction(self.histogram_menu.menuAction())
|
|
|
|
|
self.menubar.addAction(self.mophology_menu.menuAction())
|
|
|
|
|
self.menubar.addAction(self.advancecd_menu.menuAction())
|
|
|
|
|
self.menubar.addAction(self.denoising_menu.menuAction())
|
|
|
|
|
self.menubar.addAction(self.faceMenu.menuAction())
|
|
|
|
|
self.menubar.addAction(self.videoMenu.menuAction())
|
|
|
|
|
|
|
|
|
|
self.retranslateUi(mainWindow)
|
|
|
|
|
self.Open_btn.triggered.connect(mainWindow.OpenImg) # type: ignore
|
|
|
|
|
self.Save_btn.triggered.connect(mainWindow.SaveImg) # type: ignore
|
|
|
|
|
self.extractV.triggered.connect(mainWindow.ExtractVchannel) # type: ignore
|
|
|
|
|
self.extractS.triggered.connect(mainWindow.ExtractSchannel) # type: ignore
|
|
|
|
|
self.extractH.triggered.connect(mainWindow.ExtractHchannel) # type: ignore
|
|
|
|
|
self.extractR.triggered.connect(mainWindow.ExtractRchannel) # type: ignore
|
|
|
|
|
self.extractG.triggered.connect(mainWindow.ExtractGchannel) # type: ignore
|
|
|
|
|
self.extractB.triggered.connect(mainWindow.ExtractBchannel) # type: ignore
|
|
|
|
|
self.grey_info.triggered.connect(mainWindow.GreyPic) # type: ignore
|
|
|
|
|
self.ImageMove.triggered.connect(mainWindow.MovePic) # type: ignore
|
|
|
|
|
self.ImageResize_t.triggered.connect(mainWindow.ImageResizeTimes) # type: ignore
|
|
|
|
|
self.ImageResize_p.triggered.connect(mainWindow.ImageResizePixel) # type: ignore
|
|
|
|
|
self.Mirror_H_menu.triggered.connect(mainWindow.HorizontalFlip) # type: ignore
|
|
|
|
|
self.Mirror_V_menu.triggered.connect(mainWindow.VerticalFlip) # type: ignore
|
|
|
|
|
self.Mirror_C_menu.triggered.connect(mainWindow.CrossFlip) # type: ignore
|
|
|
|
|
self.FreeRotation.triggered.connect(mainWindow.FreeRotate) # type: ignore
|
|
|
|
|
self.FixedRotation.triggered.connect(mainWindow.FixedRotate) # type: ignore
|
|
|
|
|
self.GreyHistogram.triggered.connect(mainWindow.DrawGreyHistogram) # type: ignore
|
|
|
|
|
self.ColorHistogram.triggered.connect(mainWindow.DrawRGBHistogram) # type: ignore
|
|
|
|
|
self.Erosion.triggered.connect(mainWindow.Erode) # type: ignore
|
|
|
|
|
self.Inflation.triggered.connect(mainWindow.Dilate) # type: ignore
|
|
|
|
|
self.OpenOperation.triggered.connect(mainWindow.OpenOperate) # type: ignore
|
|
|
|
|
self.CloseOperation.triggered.connect(mainWindow.CloseOperate) # type: ignore
|
|
|
|
|
self.ImageEnhance.triggered.connect(mainWindow.PicStrength) # type: ignore
|
|
|
|
|
self.RobertsOperator.triggered.connect(mainWindow.RobertsOperation) # type: ignore
|
|
|
|
|
self.SobelOperator.triggered.connect(mainWindow.SobelOperation) # type: ignore
|
|
|
|
|
self.LaplacianOperator.triggered.connect(mainWindow.LaplacianOperation) # type: ignore
|
|
|
|
|
self.LoGOperator.triggered.connect(mainWindow.LoGOperation) # type: ignore
|
|
|
|
|
self.actionCanny.triggered.connect(mainWindow.CannyOperation) # type: ignore
|
|
|
|
|
self.Gauss_Noise_menu.triggered.connect(mainWindow.GaussNoise) # type: ignore
|
|
|
|
|
self.Salt_And_Pepper_Noise_menu.triggered.connect(mainWindow.PepperSaltyNoise) # type: ignore
|
|
|
|
|
self.Gaussian_Blur_menu.triggered.connect(mainWindow.GaussFilter) # type: ignore
|
|
|
|
|
self.Average_Filtering_menu.triggered.connect(mainWindow.AvgFilter) # type: ignore
|
|
|
|
|
self.leastFilter.triggered.connect(mainWindow.minFilter) # type: ignore
|
|
|
|
|
self.middleFilter.triggered.connect(mainWindow.MidFilter) # type: ignore
|
|
|
|
|
self.LargestFilter.triggered.connect(mainWindow.maxFilter) # type: ignore
|
|
|
|
|
self.passFilter.triggered.connect(mainWindow.PassFilter) # type: ignore
|
|
|
|
|
self.blockFilter.triggered.connect(mainWindow.BlockFilter) # type: ignore
|
|
|
|
|
self.faceDetection.triggered.connect(mainWindow.faceDetect) # type: ignore
|
|
|
|
|
self.StraightDetect.triggered.connect(mainWindow.HoughStraight) # type: ignore
|
|
|
|
|
self.CurveDetect.triggered.connect(mainWindow.HoughCurve) # type: ignore
|
|
|
|
|
self.videoDetkt.triggered.connect(mainWindow.videoDetect) # type: ignore
|
|
|
|
|
QtCore.QMetaObject.connectSlotsByName(mainWindow)
|
|
|
|
|
|
|
|
|
|
def retranslateUi(self, mainWindow):
|
|
|
|
|
_translate = QtCore.QCoreApplication.translate
|
|
|
|
|
mainWindow.setWindowTitle(_translate("mainWindow", "数字图像处理 By 图图"))
|
|
|
|
|
self.original_group.setTitle(_translate("mainWindow", "原始图片"))
|
|
|
|
|
self.fixed_group.setTitle(_translate("mainWindow", "处理图片"))
|
|
|
|
|
self.origin_label.setText(_translate("mainWindow", "原始图片路径:"))
|
|
|
|
|
self.origin_pic_path.setText(_translate("mainWindow", "尚未选中图片"))
|
|
|
|
|
self.save_label.setText(_translate("mainWindow", " 图片缓存路径: "))
|
|
|
|
|
self.save_pic_path.setText(_translate("mainWindow", "默认保存在img文件夹"))
|
|
|
|
|
self.file_menu.setTitle(_translate("mainWindow", "文件"))
|
|
|
|
|
self.geo_menu.setTitle(_translate("mainWindow", "几何变换"))
|
|
|
|
|
self.RotateMenu.setTitle(_translate("mainWindow", "图像旋转"))
|
|
|
|
|
self.denoising_menu.setTitle(_translate("mainWindow", "图像去噪相关"))
|
|
|
|
|
self.Noise_menu.setTitle(_translate("mainWindow", "随机给图片添加噪声"))
|
|
|
|
|
self.Filter_menu.setTitle(_translate("mainWindow", "图像滤波"))
|
|
|
|
|
self.Statistic_Filtering_menu.setTitle(_translate("mainWindow", "排序统计类滤波"))
|
|
|
|
|
self.Choice_menu.setTitle(_translate("mainWindow", "选择性滤波器"))
|
|
|
|
|
self.color_menu.setTitle(_translate("mainWindow", "色彩空间"))
|
|
|
|
|
self.menuRGB.setTitle(_translate("mainWindow", "RGB空间"))
|
|
|
|
|
self.menuHSV.setTitle(_translate("mainWindow", "HSV空间"))
|
|
|
|
|
self.histogram_menu.setTitle(_translate("mainWindow", "直方图"))
|
|
|
|
|
self.advancecd_menu.setTitle(_translate("mainWindow", "图像进阶操作"))
|
|
|
|
|
self.edge_menu.setTitle(_translate("mainWindow", "边缘检测"))
|
|
|
|
|
self.menuHough.setTitle(_translate("mainWindow", "Hough线条变化检测"))
|
|
|
|
|
self.mophology_menu.setTitle(_translate("mainWindow", "形态学操作"))
|
|
|
|
|
self.faceMenu.setTitle(_translate("mainWindow", "人脸识别"))
|
|
|
|
|
self.videoMenu.setTitle(_translate("mainWindow", "视频人脸识别"))
|
|
|
|
|
self.Mirror_H_menu.setText(_translate("mainWindow", "水平镜像"))
|
|
|
|
|
self.Mirror_V_menu.setText(_translate("mainWindow", "垂直镜像"))
|
|
|
|
|
self.Histogram_Equalization2_menu.setText(_translate("mainWindow", "三个通道分别均衡化"))
|
|
|
|
|
self.Histogram_Equalization_menu.setText(_translate("mainWindow", "三个通道一起均衡化(不推荐)"))
|
|
|
|
|
self.Salt_And_Pepper_Noise_menu.setText(_translate("mainWindow", "椒盐噪声"))
|
|
|
|
|
self.Gauss_Noise_menu.setText(_translate("mainWindow", "高斯噪声"))
|
|
|
|
|
self.Gaussian_Blur_menu.setText(_translate("mainWindow", "Gauss滤波"))
|
|
|
|
|
self.Average_Filtering_menu.setText(_translate("mainWindow", "算术均值滤波"))
|
|
|
|
|
self.grey_info.setText(_translate("mainWindow", "图片灰度化"))
|
|
|
|
|
self.Open_btn.setText(_translate("mainWindow", "打开图片"))
|
|
|
|
|
self.ImageResize_t.setText(_translate("mainWindow", "图像放缩(倍率)"))
|
|
|
|
|
self.ImageResize_p.setText(_translate("mainWindow", "图像放缩(定值)"))
|
|
|
|
|
self.ImageMove.setText(_translate("mainWindow", "图像平移"))
|
|
|
|
|
self.extractB.setText(_translate("mainWindow", "B通道提取"))
|
|
|
|
|
self.extractG.setText(_translate("mainWindow", "G通道提取"))
|
|
|
|
|
self.extractR.setText(_translate("mainWindow", "R通道提取"))
|
|
|
|
|
self.extractH.setText(_translate("mainWindow", "H通道提取"))
|
|
|
|
|
self.extractS.setText(_translate("mainWindow", "S通道提取"))
|
|
|
|
|
self.extractV.setText(_translate("mainWindow", "V通道提取"))
|
|
|
|
|
self.Mirror_C_menu.setText(_translate("mainWindow", "对角镜像"))
|
|
|
|
|
self.GreyHistogram.setText(_translate("mainWindow", "绘制灰度直方图"))
|
|
|
|
|
self.ColorHistogram.setText(_translate("mainWindow", "绘制彩色直方图"))
|
|
|
|
|
self.ImageEnhance.setText(_translate("mainWindow", "图像增强"))
|
|
|
|
|
self.RobertsOperator.setText(_translate("mainWindow", "Roberts算子"))
|
|
|
|
|
self.SobelOperator.setText(_translate("mainWindow", "Sobel算子"))
|
|
|
|
|
self.LaplacianOperator.setText(_translate("mainWindow", "Laplacian 算子"))
|
|
|
|
|
self.LoGOperator.setText(_translate("mainWindow", "LoG 边缘算子"))
|
|
|
|
|
self.actionCanny.setText(_translate("mainWindow", "Canny 边缘检测"))
|
|
|
|
|
self.Erosion.setText(_translate("mainWindow", "腐蚀"))
|
|
|
|
|
self.Inflation.setText(_translate("mainWindow", "膨胀"))
|
|
|
|
|
self.OpenOperation.setText(_translate("mainWindow", "开运算"))
|
|
|
|
|
self.CloseOperation.setText(_translate("mainWindow", "闭运算"))
|
|
|
|
|
self.Save_btn.setText(_translate("mainWindow", "保存图片"))
|
|
|
|
|
self.FreeRotation.setText(_translate("mainWindow", "自由旋转"))
|
|
|
|
|
self.FixedRotation.setText(_translate("mainWindow", "垂直旋转"))
|
|
|
|
|
self.leastFilter.setText(_translate("mainWindow", "最小值滤波"))
|
|
|
|
|
self.middleFilter.setText(_translate("mainWindow", "中值滤波"))
|
|
|
|
|
self.LargestFilter.setText(_translate("mainWindow", "最大值滤波"))
|
|
|
|
|
self.passFilter.setText(_translate("mainWindow", "带通滤波"))
|
|
|
|
|
self.blockFilter.setText(_translate("mainWindow", "带阻滤波"))
|
|
|
|
|
self.faceDetection.setText(_translate("mainWindow", "图像人脸识别"))
|
|
|
|
|
self.StraightDetect.setText(_translate("mainWindow", "直线检测"))
|
|
|
|
|
self.CurveDetect.setText(_translate("mainWindow", "曲线检测"))
|
|
|
|
|
self.videoDetkt.setText(_translate("mainWindow", "实时人脸识别"))
|