You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
403 lines
12 KiB
403 lines
12 KiB
import sys
|
|
from PyQt5.QtWidgets import *
|
|
from PyQt5.QtCore import Qt
|
|
from PyQt5.Qt import QApplication, QWidget, QThread
|
|
import numpy as np
|
|
import ui
|
|
import unit1
|
|
import unit2
|
|
import unit3
|
|
import unit4
|
|
import unit5
|
|
import unit6
|
|
import unit7
|
|
|
|
|
|
class MainDialog(QMainWindow):
|
|
def __init__(self, parent=None):
|
|
super(MainDialog, self).__init__(parent)
|
|
self.ui = ui.Ui_MainWindow()
|
|
self.ui.setupUi(self)
|
|
self.setWindowTitle('CV lrioxh')
|
|
self.m_drag = False
|
|
self.img = np.ndarray(())
|
|
self.imgOrg=np.ndarray(())
|
|
self.imgShow = np.ndarray(())
|
|
self.fname =''
|
|
self.w=0
|
|
self.h=0
|
|
self.c=1
|
|
self.ui.pushButton.clicked.connect(self.unit1_img_load) #第一个pushbutton 用来选择场景一的图像
|
|
self.ui.pushButton_2.clicked.connect(self.unit1_img_reset) #用来重置图像
|
|
self.ui.pushButton_3.clicked.connect(self.unit1_img_show)
|
|
self.ui.pushButton_4.clicked.connect(self.unit1_img_clear)
|
|
self.ui.pushButton_5.clicked.connect(self.unit1_img_save)
|
|
self.ui.pushButton_6.clicked.connect(self.trans_by_rate)
|
|
self.ui.pushButton_7.clicked.connect(self.trans_by_pixel)
|
|
self.ui.pushButton_8.clicked.connect(self.rotate)
|
|
self.ui.pushButton_9.clicked.connect(self.scale_by_rate)
|
|
self.ui.pushButton_10.clicked.connect(self.affine_trans)
|
|
|
|
unit2.init(self)
|
|
self.ui.pushButton_11.clicked.connect(self.unit2_img_load)
|
|
self.ui.pushButton_12.clicked.connect(self.unit2_globalH)
|
|
self.ui.pushButton_13.clicked.connect(self.unit2_localH)
|
|
self.ui.pushButton_14.clicked.connect(self.unit2_img_showNew)
|
|
self.ui.pushButton_15.clicked.connect(self.unit2_eqHist)
|
|
self.ui.pushButton_16.clicked.connect(self.unit2_clahe)
|
|
self.ui.pushButton_17.clicked.connect(self.unit2_clear)
|
|
self.ui.pushButton_18.clicked.connect(self.unit2_img_reset)
|
|
self.ui.pushButton_47.clicked.connect(self.unit2_img_save)
|
|
|
|
unit3.init(self)
|
|
self.ui.pushButton_64.clicked.connect(self.unit3_img_left_load1)
|
|
self.ui.pushButton_66.clicked.connect(self.unit3_img_left_load2)
|
|
self.ui.pushButton_21.clicked.connect(self.unit3_ADD)
|
|
self.ui.pushButton_19.clicked.connect(self.unit3_SUB)
|
|
self.ui.pushButton_24.clicked.connect(self.unit3_MULTI)
|
|
self.ui.pushButton_22.clicked.connect(self.unit3_DIVIDE)
|
|
self.ui.pushButton_20.clicked.connect(self.unit3_AND)
|
|
self.ui.pushButton_48.clicked.connect(self.unit3_OR)
|
|
self.ui.pushButton_49.clicked.connect(self.unit3_NOT)
|
|
self.ui.pushButton_57.clicked.connect(self.unit3_img_left_clear)
|
|
self.ui.pushButton_61.clicked.connect(self.unit3_img_left_save)
|
|
self.ui.pushButton_62.clicked.connect(self.unit3_img_left_show)
|
|
self.ui.pushButton_65.clicked.connect(self.unit3_img_left_load)
|
|
self.ui.pushButton_50.clicked.connect(self.unit3_erode)
|
|
self.ui.pushButton_51.clicked.connect(self.unit3_dilate)
|
|
self.ui.pushButton_52.clicked.connect(self.unit3_opening)
|
|
self.ui.pushButton_53.clicked.connect(self.unit3_closing)
|
|
self.ui.pushButton_55.clicked.connect(self.unit3_mean)
|
|
self.ui.pushButton_23.clicked.connect(self.unit3_guassian)
|
|
self.ui.pushButton_54.clicked.connect(self.unit3_Covfilter)
|
|
self.ui.pushButton_56.clicked.connect(self.unit3_median)
|
|
self.ui.pushButton_58.clicked.connect(self.unit3_img_right_clear)
|
|
self.ui.pushButton_59.clicked.connect(self.unit3_img_right_save)
|
|
self.ui.pushButton_63.clicked.connect(self.unit3_img_right_show)
|
|
self.ui.pushButton_67.clicked.connect(self.unit3_add_noise_Guass)
|
|
self.ui.pushButton_68.clicked.connect(self.unit3_add_noise_Jiaoyan)
|
|
self.ui.pushButton_60.clicked.connect(self.unit3_bilateralFilter)
|
|
|
|
unit4.init(self)
|
|
self.ui.pushButton_25.clicked.connect(self.unit4_img_load)
|
|
self.ui.pushButton_26.clicked.connect(self.unit4_action)
|
|
self.ui.pushButton_30.clicked.connect(self.unit4_img_clear)
|
|
self.ui.pushButton_27.clicked.connect(self.unit4_roberts_save)
|
|
self.ui.pushButton_28.clicked.connect(self.unit4_prewitt_save)
|
|
self.ui.pushButton_29.clicked.connect(self.unit4_sobel_save)
|
|
self.ui.pushButton_69.clicked.connect(self.unit4_laplacian_save)
|
|
self.ui.pushButton_70.clicked.connect(self.unit4_lough_save)
|
|
self.ui.pushButton_44.clicked.connect(self.unit4_log_save)
|
|
self.ui.pushButton_45.clicked.connect(self.unit4_canny_save)
|
|
|
|
unit5.init(self)
|
|
self.ui.pushButton_31.clicked.connect(self.unit5_img_load)
|
|
self.ui.pushButton_39.clicked.connect(self.unit5_img_clear)
|
|
self.ui.pushButton_37.clicked.connect(self.unit5_img_save)
|
|
self.ui.pushButton_40.clicked.connect(self.unit5_img_reset)
|
|
# self.ui.pushButton_32.clicked.connect(self.unit5_Butterworth)
|
|
self.ui.pushButton_35.clicked.connect(self.unit5_Gaussion)
|
|
self.ui.pushButton_33.clicked.connect(self.unit5_Idea)
|
|
self.ui.pushButton_36.clicked.connect(self.unit5_Laplacian)
|
|
self.ui.pushButton_46.clicked.connect(self.unit5_img_show)
|
|
|
|
unit6.init(self)
|
|
self.ui.pushButton_34.clicked.connect(self.unit6_img_load1)
|
|
self.ui.pushButton_38.clicked.connect(self.unit6_img_clear)
|
|
self.ui.pushButton_41.clicked.connect(self.unit6_img_load2)
|
|
self.ui.pushButton_43.clicked.connect(self.unit6_img_save)
|
|
self.ui.pushButton_42.clicked.connect(self.unit6_style_transfer)
|
|
|
|
unit7.init(self)
|
|
self.ui.pushButton_32.clicked.connect(self.unit7_img_load)
|
|
self.ui.pushButton_71.clicked.connect(self.unit7_model_load)
|
|
self.ui.pushButton_72.clicked.connect(self.unit7_object_detection)
|
|
self.ui.pushButton_73.clicked.connect(self.unit7_result_show)
|
|
self.ui.pushButton_74.clicked.connect(self.unit7_clear)
|
|
self.ui.pushButton_75.clicked.connect(self.unit7_result_save)
|
|
|
|
##unit7
|
|
def unit7_result_save(self):
|
|
return unit7.result_save(self)
|
|
|
|
|
|
def unit7_clear(self):
|
|
return unit7.clear(self)
|
|
|
|
|
|
def unit7_result_show(self):
|
|
return unit7.result_show(self)
|
|
|
|
def unit7_object_detection(self):
|
|
return unit7.object_detection(self)
|
|
|
|
def unit7_model_load(self):
|
|
return unit7.model_load(self)
|
|
|
|
def unit7_img_load(self):
|
|
return unit7.img_load(self)
|
|
|
|
|
|
|
|
##unit6
|
|
def unit6_style_transfer(self):
|
|
return unit6.style_transfer(self)
|
|
|
|
|
|
def unit6_img_save(self):
|
|
return unit6.img_save(self)
|
|
|
|
|
|
def unit6_img_load2(self):
|
|
return unit6.img_load2(self)
|
|
|
|
|
|
def unit6_img_clear(self):
|
|
return unit6.img_clear(self)
|
|
|
|
def unit6_img_load1(self):
|
|
return unit6.img_load1(self)
|
|
|
|
|
|
##unit5
|
|
def unit5_img_show(self):
|
|
return unit5.img_show(self)
|
|
|
|
def unit5_Laplacian(self):
|
|
return unit5.Laplacian(self)
|
|
|
|
def unit5_Idea(self):
|
|
return unit5.Idea(self)
|
|
|
|
def unit5_Gaussion(self):
|
|
return unit5.Gaussion(self)
|
|
|
|
# def unit5_Butterworth(self):
|
|
# return unit5.Butterworth(self)
|
|
|
|
def unit5_img_reset(self):
|
|
return unit5.img_reset(self)
|
|
|
|
def unit5_img_save(self):
|
|
return unit5.img_save(self)
|
|
|
|
def unit5_img_clear(self):
|
|
return unit5.img_clear(self)
|
|
|
|
def unit5_img_load(self):
|
|
return unit5.img_load(self)
|
|
|
|
|
|
##unit4
|
|
def unit4_canny_save(self):
|
|
return unit4.canny_save(self)
|
|
|
|
def unit4_log_save(self):
|
|
return unit4.log_save(self)
|
|
|
|
def unit4_lough_save(self):
|
|
return unit4.lough_save(self)
|
|
|
|
def unit4_laplacian_save(self):
|
|
return unit4.laplacian_save(self)
|
|
|
|
def unit4_sobel_save(self):
|
|
return unit4.sobel_save(self)
|
|
|
|
def unit4_prewitt_save(self):
|
|
return unit4.prewitt_save(self)
|
|
|
|
def unit4_roberts_save(self):
|
|
return unit4.roberts_save(self)
|
|
|
|
def unit4_img_clear(self):
|
|
return unit4.img_clear(self)
|
|
|
|
def unit4_action(self):
|
|
return unit4.action(self)
|
|
|
|
def unit4_img_load(self):
|
|
return unit4.img_load(self)
|
|
|
|
##unit3
|
|
def unit3_bilateralFilter(self):
|
|
return unit3.bilateralFilter(self)
|
|
|
|
def unit3_add_noise_Jiaoyan(self):
|
|
return unit3.add_noise_Jiaoyan(self)
|
|
|
|
def unit3_add_noise_Guass(self):
|
|
return unit3.add_noise_Guass(self)
|
|
|
|
def unit3_img_left_load1(self):
|
|
return unit3.img_left_load1(self)
|
|
|
|
def unit3_img_left_load2(self):
|
|
return unit3.img_left_load2(self)
|
|
|
|
def unit3_ADD(self):
|
|
return unit3.ADD(self)
|
|
|
|
def unit3_SUB(self):
|
|
return unit3.SUB(self)
|
|
|
|
def unit3_MULTI(self):
|
|
return unit3.MULTI(self)
|
|
|
|
def unit3_DIVIDE(self):
|
|
return unit3.DIVIDE(self)
|
|
|
|
def unit3_AND(self):
|
|
return unit3.AND(self)
|
|
|
|
def unit3_OR(self):
|
|
return unit3.OR(self)
|
|
|
|
def unit3_NOT(self):
|
|
return unit3.NOT(self)
|
|
|
|
def unit3_img_left_clear(self):
|
|
return unit3.img_left_clear(self)
|
|
|
|
def unit3_img_left_save(self):
|
|
return unit3.img_left_save(self)
|
|
|
|
def unit3_img_left_show(self):
|
|
return unit3.img_left_show(self)
|
|
|
|
def unit3_img_left_load(self):
|
|
return unit3.img_right_load(self)
|
|
|
|
def unit3_erode(self):
|
|
return unit3.erode(self)
|
|
|
|
def unit3_dilate(self):
|
|
return unit3.dilate(self)
|
|
|
|
def unit3_opening(self):
|
|
return unit3.opening(self)
|
|
|
|
def unit3_closing(self):
|
|
return unit3.closing(self)
|
|
|
|
def unit3_mean(self):
|
|
return unit3.mean(self)
|
|
|
|
def unit3_guassian(self):
|
|
return unit3.guassian(self)
|
|
|
|
def unit3_Covfilter(self):
|
|
return unit3.Covfilter(self)
|
|
|
|
def unit3_median(self):
|
|
return unit3.median(self)
|
|
|
|
def unit3_img_right_clear(self):
|
|
return unit3.img_right_clear(self)
|
|
|
|
def unit3_img_right_save(self):
|
|
return unit3.img_right_save(self)
|
|
|
|
def unit3_img_right_show(self):
|
|
return unit3.img_right_show(self)
|
|
### U2
|
|
|
|
def unit2_img_load(self):
|
|
return unit2.unit2_img_load(self)
|
|
|
|
def unit2_img_reset(self):
|
|
return unit2.unit2_img_reset(self)
|
|
|
|
def unit2_img_showNew(self):
|
|
return unit2.unit2_img_showNew(self)
|
|
|
|
def unit2_img_save(self):
|
|
return unit2.unit2_img_save(self)
|
|
|
|
def unit2_clahe(self):
|
|
return unit2.clahe(self)
|
|
|
|
def unit2_eqHist(self):
|
|
return unit2.eqHist(self)
|
|
|
|
def unit2_globalH(self):
|
|
return unit2.globalH(self)
|
|
|
|
def unit2_localH(self):
|
|
return unit2.localH(self)
|
|
|
|
def unit2_enhance(self):
|
|
return unit2.enhance(self)
|
|
|
|
def unit2_clear(self):
|
|
return unit2.unit2_clear(self)
|
|
|
|
### U1
|
|
def unit1_img_load(self):
|
|
return unit1.unit1_img_load(self)
|
|
|
|
def unit1_img_reset(self):
|
|
return unit1.unit1_img_reset(self)
|
|
|
|
def unit1_img_show(self):
|
|
return unit1.unit1_img_show(self)
|
|
|
|
def unit1_img_clear(self):
|
|
return unit1.unit1_img_clear(self)
|
|
|
|
def unit1_img_save(self):
|
|
return unit1.unit1_img_save(self)
|
|
|
|
def trans_by_rate(self):
|
|
return unit1.trans_by_rate(self)
|
|
|
|
def trans_by_pixel(self):
|
|
return unit1.trans_by_pixel(self)
|
|
|
|
def scale_by_rate(self):
|
|
return unit1.scale_by_rate(self)
|
|
|
|
def rotate(self):
|
|
return unit1.rotate(self)
|
|
|
|
def affine_trans(self):
|
|
return unit1.affine_trans(self)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
###
|
|
def mouseReleaseEvent(self, e):
|
|
if Qt.LeftButton:
|
|
if self.ui.tabWidget.currentIndex() == 0:
|
|
return unit1.mouseReleaseEvent(self,e)
|
|
if self.ui.tabWidget.currentIndex() == 1:
|
|
return unit2.mouseReleaseEvent(self,e)
|
|
if self.ui.tabWidget.currentIndex() == 2:
|
|
return unit3.mouseReleaseEvent(self,e)
|
|
|
|
def mousePressEvent(self, e):
|
|
if Qt.LeftButton:
|
|
if self.ui.tabWidget.currentIndex() == 1:
|
|
return unit2.mousePressEvent(self,e)
|
|
if self.ui.tabWidget.currentIndex() == 2:
|
|
return unit3.mousePressEvent(self,e)
|
|
|
|
def mouseMoveEvent(self, e):
|
|
if Qt.LeftButton and self.m_drag:
|
|
if self.ui.tabWidget.currentIndex() == 1:
|
|
return unit2.mouseMoveEvent(self,e)
|
|
if self.ui.tabWidget.currentIndex() == 2:
|
|
return unit3.mouseMoveEvent(self,e)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
app = QApplication(sys.argv)
|
|
MainWindow = QMainWindow()
|
|
Dlg = MainDialog()
|
|
Dlg.show()
|
|
sys.exit(app.exec_())
|