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

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_())