modified: main_windows/main_window.py modified: main_windows/ui_main_window.py modified: nst/Models.py new file: sub_windows/sub_window_9.py new file: sub_windows/ui_sub_window_9.pymaster
parent
b0d76f9add
commit
f4865ef6ab
@ -0,0 +1,87 @@
|
||||
import cv2
|
||||
from PyQt5.QtCore import pyqtSignal, QThread
|
||||
from PyQt5.QtGui import *
|
||||
from PyQt5.QtWidgets import *
|
||||
from PyQt5 import QtWidgets, QtGui
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
from nst import Models
|
||||
import time
|
||||
import numpy as np
|
||||
|
||||
# 子窗口布局
|
||||
from sub_windows import ui_sub_window_9
|
||||
|
||||
|
||||
class SubWindow(QMainWindow):
|
||||
def __init__(self):
|
||||
super().__init__(parent=None)
|
||||
self.ui = ui_sub_window_9.Ui_Form()
|
||||
self.ui.setupUi(self)
|
||||
self.ui_init()
|
||||
self.file_path = None
|
||||
self.style_path = None
|
||||
|
||||
def ui_init(self):
|
||||
# print("子窗口9初始化")
|
||||
self.ui.pushButton_open_style.clicked.connect(self.open_style)
|
||||
self.ui.pushButton_open_file.clicked.connect(self.open_file)
|
||||
self.ui.pushButton_generate.clicked.connect(self.generate)
|
||||
|
||||
def open_file(self):
|
||||
# Open a file dialog and display the selected image
|
||||
options = QtWidgets.QFileDialog.Options()
|
||||
options |= QtWidgets.QFileDialog.ReadOnly
|
||||
fileName, _ = QtWidgets.QFileDialog.getOpenFileName(
|
||||
self,
|
||||
"QFileDialog.getOpenFileName()",
|
||||
"",
|
||||
"All Files (*);;Python Files (*.py)",
|
||||
options=options,
|
||||
)
|
||||
if fileName:
|
||||
self.file_path = fileName
|
||||
pixmap = QtGui.QPixmap(fileName)
|
||||
scaled_pixmap = pixmap.scaled(
|
||||
self.ui.label_image_1.size(), QtCore.Qt.KeepAspectRatio
|
||||
)
|
||||
self.ui.label_image_1.setPixmap(scaled_pixmap)
|
||||
|
||||
def open_style(self):
|
||||
# Open a file dialog and display the selected style image
|
||||
options = QtWidgets.QFileDialog.Options()
|
||||
options |= QtWidgets.QFileDialog.ReadOnly
|
||||
fileName, _ = QtWidgets.QFileDialog.getOpenFileName(
|
||||
self,
|
||||
"QFileDialog.getOpenFileName()",
|
||||
"",
|
||||
"All Files (*);;Python Files (*.py)",
|
||||
options=options,
|
||||
)
|
||||
if fileName:
|
||||
self.style_path = fileName
|
||||
pixmap = QtGui.QPixmap(fileName)
|
||||
scaled_pixmap = pixmap.scaled(
|
||||
self.ui.label_image_2.size(), QtCore.Qt.KeepAspectRatio
|
||||
)
|
||||
self.ui.label_image_2.setPixmap(scaled_pixmap)
|
||||
|
||||
def generate(self):
|
||||
print("generating")
|
||||
ph = "nst/weights/vgg19-dcbb9e9d.pth"
|
||||
|
||||
transfer = Models.Transfer(self.file_path, self.style_path, ph)
|
||||
|
||||
t = time.time()
|
||||
dt, img = transfer.fit()
|
||||
|
||||
print(time.time() - t)
|
||||
# print(dt,img)
|
||||
|
||||
img = np.array(img)[:, :, ::-1]
|
||||
img = np.require(img, np.uint8, 'C')
|
||||
|
||||
qimage = QImage(img.data, img.shape[1], img.shape[0], QImage.Format_RGB888)
|
||||
pixmap = QPixmap.fromImage(qimage)
|
||||
self.ui.label_image_3.setPixmap(pixmap)
|
||||
|
||||
pass
|
@ -0,0 +1,82 @@
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_Form(object):
|
||||
def setupUi(self, Form):
|
||||
Form.setObjectName("Form")
|
||||
Form.resize(1800, 700)
|
||||
self.label_title = QtWidgets.QLabel(Form)
|
||||
self.label_title.setGeometry(QtCore.QRect(800, 20, 200, 50))
|
||||
font = QtGui.QFont()
|
||||
font.setFamily("Agency FB")
|
||||
font.setPointSize(22)
|
||||
font.setBold(True)
|
||||
font.setWeight(75)
|
||||
self.label_title.setFont(font)
|
||||
self.label_title.setAlignment(QtCore.Qt.AlignCenter)
|
||||
self.label_title.setObjectName("label_title")
|
||||
|
||||
self.pushButton_open_file = QtWidgets.QPushButton(Form)
|
||||
self.pushButton_open_file.setGeometry(
|
||||
QtCore.QRect(281, 620, 150, 28)
|
||||
) # Adjusted button position
|
||||
self.pushButton_open_file.setCheckable(False)
|
||||
self.pushButton_open_file.setDefault(True)
|
||||
self.pushButton_open_file.setObjectName("pushButton_open_file")
|
||||
|
||||
self.pushButton_open_style = QtWidgets.QPushButton(Form)
|
||||
self.pushButton_open_style.setGeometry(
|
||||
QtCore.QRect(831, 620, 150, 28)
|
||||
) # Adjusted button position
|
||||
self.pushButton_open_style.setCheckable(False)
|
||||
self.pushButton_open_style.setDefault(True)
|
||||
self.pushButton_open_style.setObjectName("pushButton_open_style")
|
||||
|
||||
self.pushButton_generate = QtWidgets.QPushButton(Form)
|
||||
self.pushButton_generate.setGeometry(
|
||||
QtCore.QRect(1381, 620, 150, 28)
|
||||
) # Adjusted button position
|
||||
self.pushButton_generate.setCheckable(False)
|
||||
self.pushButton_generate.setDefault(True)
|
||||
self.pushButton_generate.setObjectName("pushButton_generate")
|
||||
|
||||
self.label_image_1 = QtWidgets.QLabel(Form)
|
||||
self.label_image_1.setGeometry(QtCore.QRect(100, 80, 512, 512))
|
||||
self.label_image_1.setFont(font)
|
||||
self.label_image_1.setFrameShape(QtWidgets.QFrame.Box)
|
||||
self.label_image_1.setFrameShadow(QtWidgets.QFrame.Raised)
|
||||
self.label_image_1.setScaledContents(False)
|
||||
self.label_image_1.setAlignment(QtCore.Qt.AlignCenter)
|
||||
self.label_image_1.setObjectName("label_image_1")
|
||||
|
||||
self.label_image_2 = QtWidgets.QLabel(Form)
|
||||
self.label_image_2.setGeometry(QtCore.QRect(650, 80, 512, 512))
|
||||
self.label_image_2.setFont(font)
|
||||
self.label_image_2.setFrameShape(QtWidgets.QFrame.Box)
|
||||
self.label_image_2.setFrameShadow(QtWidgets.QFrame.Raised)
|
||||
self.label_image_2.setScaledContents(False)
|
||||
self.label_image_2.setAlignment(QtCore.Qt.AlignCenter)
|
||||
self.label_image_2.setObjectName("label_image_2")
|
||||
|
||||
self.label_image_3 = QtWidgets.QLabel(Form)
|
||||
self.label_image_3.setGeometry(QtCore.QRect(1200, 80, 512, 512))
|
||||
self.label_image_3.setFont(font)
|
||||
self.label_image_3.setFrameShape(QtWidgets.QFrame.Box)
|
||||
self.label_image_3.setFrameShadow(QtWidgets.QFrame.Raised)
|
||||
self.label_image_3.setScaledContents(False)
|
||||
self.label_image_3.setAlignment(QtCore.Qt.AlignCenter)
|
||||
self.label_image_3.setObjectName("label_image_3")
|
||||
|
||||
self.retranslateUi(Form)
|
||||
QtCore.QMetaObject.connectSlotsByName(Form)
|
||||
|
||||
def retranslateUi(self, Form):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
Form.setWindowTitle(_translate("Form", "图像风格迁移"))
|
||||
self.label_title.setText(_translate("Form", "图像风格迁移"))
|
||||
self.pushButton_open_file.setText(_translate("Form", "打开原图片"))
|
||||
self.pushButton_open_style.setText(_translate("Form", "打开风格图片"))
|
||||
self.pushButton_generate.setText(_translate("Form", "生成风格迁移结果"))
|
||||
self.label_image_1.setText(_translate("Form", "原图片预览"))
|
||||
self.label_image_2.setText(_translate("Form", "风格图片预览"))
|
||||
self.label_image_3.setText(_translate("Form", "结果图片预览"))
|
Loading…
Reference in new issue