reportlab生成pdf,tkinter将pdf另存为其他路径



import cv2, os, time

from models import models
from  models2 import models2
# 不然每次YOLO处理都会输出调试信息
os.environ['YOLO_VERBOSE'] = 'False'
from ultralytics import YOLO
from PySide6.QtWidgets import QApplication, QMessageBox
from PySide6.QtUiTools import QUiLoader
from PySide6 import QtWidgets, QtCore, QtGui

from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.lib.styles import getSampleStyleSheet,ParagraphStyle
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Image,Table,TableStyle
from reportlab.lib.enums import TA_CENTER,TA_LEFT,TA_JUSTIFY
from reportlab.lib import colors
from reportlab.lib.pagesizes import A4
from reportlab.lib.units import inch

# from tkinter import *
from tkinter.filedialog import asksaveasfile
from tkinter.filedialog import asksaveasfilename

class zhong:
    def __init__(self):
        self.setupUI()
        # 定义定时器,用于控制显示视频的帧率
        self.timer_camera = QtCore.QTimer()
        # 定时到了,回调 self.show_camera
        self.timer_camera.timeout.connect(self.show_camera)

        # 加载 YOLO nano 模型,第一次比较耗时,要20秒左右
        # self.model = YOLO('yolov8x-pose-p6.pt')
        self.model = YOLO('yolov8n-pose.pt')
        self.args()

    def args(self):
        self.list1 = []
        self.list2 = []
        self.list3 = []
        self.list4 = []
        self.time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))

        self.x1 = []
        self.y1 = []

        self.x2 = []
        self.y2 = []

        self.x3 = []
        self.y3 = []

        self.x4 = []
        self.y4 = []

    def setupUI(self):
        # self.ui = QUiLoader().load('untitled.ui')
        self.ui = QUiLoader().load('new.ui')
        self.ui.displayButton.clicked.connect(self.displayPage1)
        self.ui.displayButton_2.clicked.connect(self.displayPage2)
        self.ui.displayButton_3.clicked.connect(self.displayPage3)
        self.ui.displayButton_4.clicked.connect(self.displayPage4)
        self.ui.displayButton_5.clicked.connect(self.displayPage5)

        self.ui.camBtn.clicked.connect(self.startCamera)
        self.ui.stopBtn.clicked.connect(self.stop)
        self.ui.pdfsubmit.clicked.connect(self.pdf)


        # 拍照
        # self.ui.takeBtn.clicked.connect(self.taking_pictures)
        self.ui.takeBtn1.clicked.connect(self.taking_pictures1)
        self.ui.takeBtn2.clicked.connect(self.taking_pictures2)
        self.ui.takeBtn3.clicked.connect(self.taking_pictures3)
        self.ui.takeBtn4.clicked.connect(self.taking_pictures4)

        #修改
        self.ui.fixBtn1.clicked.connect(self.fix1)
        self.ui.fixBtn2.clicked.connect(self.fix2)
        self.ui.fixBtn3.clicked.connect(self.fix3)
        self.ui.fixBtn4.clicked.connect(self.fix4)

        #显示实时时间
        self.ui.time.setText(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))

    def startCamera(self):


        self.cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)
        if not self.cap.isOpened():
            print("1号摄像头不能打开")
            return ()

        if self.timer_camera.isActive() == False:  # 若定时器未启动
            # self.timer_camera.start(50)
            #100帧
            self.timer_camera.start(30)
            # self.timer_camera.start(20)

    def show_camera(self):

        ret, frame = self.cap.read()  # 从视频流中读取
        if not ret:
            return

        # 把读到的16:10帧的大小重新设置
        frame = cv2.resize(frame, (800, 600))
        # 视频色彩转换回RGB,OpenCV images as BGR
        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
        # qImage = QtGui.QImage(frame.data, frame.shape[1], frame.shape[0],
        #                       QtGui.QImage.Format_RGB888)  # 变成QImage形式
        # 往显示视频的Label里 显示QImage
        # self.ui.label_ori_video.setPixmap(QtGui.QPixmap.fromImage(qImage))

        results = self.model(frame)[0]
        # print(results)

        img = results.plot(line_width=1)

        qImage = QtGui.QImage(img.data, img.shape[1], img.shape[0],
                              QtGui.QImage.Format_RGB888)  # 变成QImage形式

        self.ui.label_treated.setPixmap(QtGui.QPixmap.fromImage(qImage))  # 往显示Label里 显示QImage
        self.ui.label_treated_2.setPixmap(QtGui.QPixmap.fromImage(qImage))  # 往显示Label里 显示QImage
        self.ui.label_treated_3.setPixmap(QtGui.QPixmap.fromImage(qImage))  # 往显示Label里 显示QImage
        self.ui.label_treated_4.setPixmap(QtGui.QPixmap.fromImage(qImage))  # 往显示Label里 显示QImage


    def taking_pictures1(self):

        ret, frame = self.cap.read()  # 从视频流中读取
        if not ret:
            return

        # 把读到的16:10帧的大小重新设置
        frame = cv2.resize(frame, (800, 600))
        # 视频色彩转换回RGB,OpenCV images as BGR
        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
        qImage = QtGui.QImage(frame.data, frame.shape[1], frame.shape[0],
                              QtGui.QImage.Format_RGB888)  # 变成QImage形式
        # 往显示视频的Label里 显示QImage
        # self.ui.label_take1.setPixmap(QtGui.QPixmap.fromImage(qImage))

        qImage.save('pose1.jpg')
        self.list1.clear()
        angel_shoulder, str_shoulder, angel_xo1, angel_xo2, str_xo, diff_leg, str2_leg ,x,y= models('pose1.jpg').sum()
        self.list1.append(angel_shoulder)
        self.list1.append(str_shoulder)
        self.list1.append( angel_xo1)
        self.list1.append(angel_xo2)
        self.list1.append( str_xo)
        self.list1.append( diff_leg)
        self.list1.append( str2_leg)
        self.x1 = x
        self.y1 = y

        #展示qimage
        # self.ui.label_show1.setPixmap(QtGui.QPixmap.fromImage(qImage))
        #打开本地图片并展示
        pixmap = QtGui.QPixmap('pose1.jpg_keypoint.jpg')
        self.ui.label_show1.setPixmap(pixmap)

    def taking_pictures2(self):

        ret, frame = self.cap.read()  # 从视频流中读取
        if not ret:
            return

        # 把读到的16:10帧的大小重新设置
        frame = cv2.resize(frame, (800, 600))
        # 视频色彩转换回RGB,OpenCV images as BGR
        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
        qImage = QtGui.QImage(frame.data, frame.shape[1], frame.shape[0],
                              QtGui.QImage.Format_RGB888)  # 变成QImage形式
        # 往显示视频的Label里 显示QImage
        # self.ui.label_take2.setPixmap(QtGui.QPixmap.fromImage(qImage))

        qImage.save('pose2.jpg')
        self.list2.clear()
        angel_head, str_head , x , y= models('pose2.jpg').head()
        self.list2.append(angel_head)
        self.list2.append(str_head)
        self.x2 = x
        self.y2 = y

        # self.ui.label_show2.setPixmap(QtGui.QPixmap.fromImage(qImage))
        pixmap = QtGui.QPixmap('pose2.jpg_keypoint.jpg')
        self.ui.label_show2.setPixmap(pixmap)


    def taking_pictures3(self):

        ret, frame = self.cap.read()  # 从视频流中读取
        if not ret:
            return

        # 把读到的16:10帧的大小重新设置
        frame = cv2.resize(frame, (800, 600))
        # 视频色彩转换回RGB,OpenCV images as BGR
        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
        qImage = QtGui.QImage(frame.data, frame.shape[1], frame.shape[0],
                              QtGui.QImage.Format_RGB888)  # 变成QImage形式
        # 往显示视频的Label里 显示QImage
        # self.ui.label_take3.setPixmap(QtGui.QPixmap.fromImage(qImage))

        qImage.save('pose3.jpg')
        self.list3.clear()
        angel_pelvis,str_pelvis ,x,y= models('pose3.jpg').Pelvis()
        self.list3.append(angel_pelvis)
        self.list3.append(str_pelvis)
        self.x3 = x
        self.y3 = y
        # self.ui.label_show3.setPixmap(QtGui.QPixmap.fromImage(qImage))

        pixmap = QtGui.QPixmap('pose3.jpg_keypoint.jpg')
        self.ui.label_show3.setPixmap(pixmap)

    def taking_pictures4(self):

        ret, frame = self.cap.read()  # 从视频流中读取
        if not ret:
            return

        # 把读到的16:10帧的大小重新设置
        frame = cv2.resize(frame, (800, 600))
        # 视频色彩转换回RGB,OpenCV images as BGR
        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
        qImage = QtGui.QImage(frame.data, frame.shape[1], frame.shape[0],
                              QtGui.QImage.Format_RGB888)  # 变成QImage形式
        # 往显示视频的Label里 显示QImage
        # self.ui.label_take4.setPixmap(QtGui.QPixmap.fromImage(qImage))

        qImage.save('pose4.jpg')
        self.list4.clear()
        angel_shoulder, str_shoulder, angel_xo1, angel_xo2, str_xo, diff_leg, str2_leg,x,y = models('pose4.jpg').sum()
        self.list4.append(angel_shoulder)
        self.list4.append(str_shoulder)
        self.list4.append(angel_xo1)
        self.list4.append(angel_xo2)
        self.list4.append(str_xo)
        self.list4.append(diff_leg)
        self.list4.append(str2_leg)
        self.x4 = x
        self.y4 = y
        # self.ui.label_show4.setPixmap(QtGui.QPixmap.fromImage(qImage))
        pixmap = QtGui.QPixmap('pose4.jpg_keypoint.jpg')
        self.ui.label_show4.setPixmap(pixmap)

    def stop(self):
        self.timer_camera.stop()  # 关闭定时器
        self.cap.release()  # 释放视频流
        self.ui.label_treated.clear()  # 清空视频显示区域
        self.ui.label_treated_2.clear()  # 清空视频显示区域
        self.ui.label_treated_3.clear()  # 清空视频显示区域
        self.ui.label_treated_4.clear()  # 清空视频显示区域

    def pdf(self):
        id = self.ui.id.toPlainText()
        name = self.ui.name.toPlainText()
        age = self.ui.age.toPlainText()
        sex = self.ui.sex.currentText()
        time = self.time
        if(self.list1 == [] or self.list2 == [] or self.list3 == [] or self.list4 == []):
            msg_box = QMessageBox(QMessageBox.Warning, '警告', '请确保所有视图都已采集')
            msg_box.exec_()
        else:
            self.pdf_process(id,name, age, sex,time, self.list1, self.list2, self.list3, self.list4)





    def displayPage1(self):
        self.ui.stackedWidget.setCurrentIndex(0)
    def displayPage2(self):
        self.ui.stackedWidget.setCurrentIndex(1)
    def displayPage3(self):
        self.ui.stackedWidget.setCurrentIndex(2)

    def displayPage4(self):
        self.ui.stackedWidget.setCurrentIndex(3)
    def displayPage5(self):
        self.ui.stackedWidget.setCurrentIndex(4)


    def mouse(self, imgs,x_center,y_center,radius):
        def mouse_LButtonDown(event, x, y, flags, param):
            global temp
            if event == cv2.EVENT_LBUTTONDOWN:
                for i in range(len(x_center)):
                    if (x - x_center[i]) ** 2 + (y - y_center[i]) ** 2 <= radius ** 2:
                        temp = i
            if event == cv2.EVENT_LBUTTONUP:
                x_center[temp] = x
                y_center[temp] = y
        cv2.namedWindow('Modify', cv2.WINDOW_NORMAL)
        cv2.resizeWindow('Modify', 800, 600)
        cv2.setMouseCallback('Modify', mouse_LButtonDown)

        color = (0, 255, 0)

        while True:
            img = cv2.imread(imgs)
            for i in range(len(x_center)):
                cv2.circle(img, (x_center[i], y_center[i]), 4, color, -1, lineType=cv2.FILLED)
            cv2.imshow('Modify', img)
            key = cv2.waitKey(1)
            if key == ord('q'):
                break

        cv2.destroyAllWindows()
        return x_center, y_center

    def fix1(self):
        x_center,y_center = self.mouse("pose1.jpg",self.x1,self.y1,10)
        angel_shoulder, str_shoulder, angel_xo1, angel_xo2, str_xo, diff_leg, str2_leg = models2("pose1.jpg", x_center,
                                                                                                     y_center).sum()
        pixmap = QtGui.QPixmap('pose1.jpg')
        self.ui.label_show1.setPixmap(pixmap)
        self.list1.clear()
        self.list1.append(angel_shoulder)
        self.list1.append(str_shoulder)
        self.list1.append(angel_xo1)
        self.list1.append(angel_xo2)
        self.list1.append(str_xo)
        self.list1.append(diff_leg)
        self.list1.append(str2_leg)


    def fix2(self):
        x_center,y_center = self.mouse("pose2.jpg", self.x2, self.y2, 10)
        angel_head, str_head = models2("pose2.jpg", x_center,y_center).head()


        pixmap = QtGui.QPixmap('pose2.jpg')
        self.ui.label_show2.setPixmap(pixmap)

        self.list2.clear()
        self.list2.append(angel_head)
        self.list2.append(str_head)

    def fix3(self):
        x_center,y_center = self.mouse("pose3.jpg", self.x3, self.y3, 10)

        angel_pelvis, str_pelvis = models2("pose3.jpg", x_center,y_center).Pelvis()
        pixmap = QtGui.QPixmap('pose3.jpg')
        self.ui.label_show3.setPixmap(pixmap)
        self.list3.clear()
        self.list3.append(angel_pelvis)
        self.list3.append(str_pelvis)

    def fix4(self):
        x_center,y_center = self.mouse("pose4.jpg", self.x4, self.y4, 10)
        angel_shoulder, str_shoulder, angel_xo1, angel_xo2, str_xo, diff_leg, str2_leg = models2("pose4.jpg", x_center,y_center).sum()

        pixmap = QtGui.QPixmap('pose4.jpg')
        self.ui.label_show4.setPixmap(pixmap)

        self.list4.clear()
        self.list4.append(angel_shoulder)
        self.list4.append(str_shoulder)
        self.list4.append(angel_xo1)
        self.list4.append(angel_xo2)
        self.list4.append(str_xo)
        self.list4.append(diff_leg)
        self.list4.append(str2_leg)

    def pdf_process(self,id,name,age,sex,time,list1,list2,list3,list4):
        filetypes = [('PDF files', '*.pdf')]
        # 获取用户想要保存的文件名和路径
        file_path = asksaveasfilename(filetypes=filetypes, defaultextension='.pdf')
        if not file_path:
            return  # 用户取消了操作
        '''
        生成pdf
        '''

        # 设置中文字体名称为微软雅黑
        pdfmetrics.registerFont(TTFont('msyh', 'msyh.ttf'))
        # 容纳所有的PDF元素
        self.elements = []
        '''
        添加标题文字
        '''
        # 读取reportlab定义好的样式表
        style = getSampleStyleSheet()
        title = """ <para><font face="msyh">体态系统报告</font></para>"""
        self.elements.append(Paragraph(title, style['Title']))
        self.elements.append(Spacer(1, 0.2 * inch))
        '''
              添加小标题
              '''

        self.elements.append(Paragraph("""<font face="msyh">1. 用户信息</font>""", style["h3"]))
        self.elements.append(Spacer(1, 0.2 * inch))

        # 绘制表格
        def draw_table(*args):
            col_width = 100

            style = [

                ('FONTNAME', (0, 0), (-1, -1), 'msyh'),  # 字体

                ('BACKGROUND', (0, 0), (-1, 0), '#d5dae6'),  # 设置第一行背景颜色

                ('ALIGN', (0, 0), (-1, -1), 'CENTER'),  # 对齐

                ('VALIGN', (-1, 0), (-2, 0), 'MIDDLE'),  # 对齐

                ('GRID', (0, 0), (-1, -1), 0.5, colors.grey),  # 设置表格框线为grey色,线宽为0.5

            ]

            table = Table(args, colWidths=col_width, style=style)

            return table

        # 添加表格数据

        data = [('编号', '姓名', '年龄', '性别', '时间'),

                (id, name, age, sex, time)
                ]

        self.elements.append(draw_table(*data))

        angel_shoulder = list1[0]
        str_shoulder = list1[1]
        angel_xo1 = list1[2]
        angel_xo2 = list1[3]
        str_xo = list1[4]
        diff_leg = list1[5]
        str2_leg = list1[6]

        self.elements.append(Paragraph("""<font face="msyh">2. 体检结果</font>""", style["h3"]))
        self.elements.append(Spacer(1, 0.2 * inch))
        content2 = "&nbsp;&nbsp;①&nbsp;肩膀度数:&nbsp;" + str(angel_shoulder) + "°,肩膀状态:&nbsp;" + str_shoulder + ";"
        description2 = """

                                 <para>

                                         <font face="msyh">

                                         """ + content2 + """
                                         </font>
                                 </para>
                                 """
        self.elements.append(Paragraph(description2, style["h5"]))
        self.elements.append(Spacer(1, 0.2 * inch))

        '''
        分开

        '''
        content2 = "&nbsp;&nbsp;②长短腿状态:&nbsp;" + str2_leg + " ;"
        description2 = """

                                          <para>

                                                  <font face="msyh">

                                                  """ + content2 + """
                                                  </font>
                                          </para>
                                          """
        self.elements.append(Paragraph(description2, style["h5"]))
        self.elements.append(Spacer(1, 0.2 * inch))

        content2 = "&nbsp;&nbsp;③腿型度数:&nbsp;右腿" + str(angel_xo1) + "°,左腿:&nbsp;" + str(
            angel_xo2) + "°,腿型判断:&nbsp;" + str_xo + ";"
        description2 = """

                                          <para>

                                                  <font face="msyh">

                                                  """ + content2 + """
                                                  </font>
                                          </para>
                                          """
        self.elements.append(Paragraph(description2, style["h5"]))
        self.elements.append(Spacer(1, 0.2 * inch))

        '''
        以下均为测试内容
        '''
        angel_head = list2[0]
        str_head = list2[1]

        content2 = "&nbsp;&nbsp;④&nbsp;头部前倾度数:&nbsp;" + str(
            angel_head) + "°,头部状态:&nbsp;" + str_head + ";"
        description2 = """

                                        <para>

                                                <font face="msyh">

                                                """ + content2 + """
                                                </font>
                                        </para>
                                        """
        self.elements.append(Paragraph(description2, style["h5"]))
        self.elements.append(Spacer(1, 0.2 * inch))

        angel_pelvis = list3[0]
        str_pelvis = list3[1]

        content2 = "&nbsp;&nbsp;⑤&nbsp;盆骨前倾度数:&nbsp;" + str(
            angel_pelvis) + "°,盆骨状态:&nbsp;" + str_pelvis + ";"
        description2 = """

                                        <para>

                                                <font face="msyh">

                                                """ + content2 + """
                                                </font>
                                        </para>
                                        """
        self.elements.append(Paragraph(description2, style["h5"]))
        self.elements.append(Spacer(1, 0.2 * inch))

        '''
        此处截止
        '''
        '''
        添加小标题
        '''
        from reportlab.platypus import  Image
        self.elements.append(Paragraph("""<font face="msyh">3. 模型检测的四视图</font>""", style["h3"]))
        self.elements.append(Spacer(1, 0.2 * inch))
        self.elements.append(Paragraph("""<font face="msyh">3.1 正视图</font>""", style["h4"]))
        self.elements.append(Spacer(1, 0.2 * inch))
        img1 = cv2.imread('pose1.jpg_keypoint.jpg')
        resize1 = cv2.resize(img1, (350, 300))
        cv2.imwrite('pose1.jpg_keypoint.jpg', resize1)
        img1 = Image('pose1.jpg_keypoint.jpg')
        self.elements.append(img1)
        self.elements.append(Spacer(1, 0.2 * inch))

        self.elements.append(Paragraph("""<font face="msyh">3.2 左视图</font>""", style["h4"]))
        self.elements.append(Spacer(1, 0.2 * inch))
        img2 = cv2.imread('pose2.jpg_keypoint.jpg')
        resize2 = cv2.resize(img2, (350, 300))
        cv2.imwrite('pose2.jpg_keypoint.jpg', resize2)
        img2 = Image('pose2.jpg_keypoint.jpg')
        self.elements.append(img2)
        self.elements.append(Spacer(1, 0.2 * inch))

        self.elements.append(Paragraph("""<font face="msyh">3.3 后视图</font>""", style["h4"]))
        self.elements.append(Spacer(1, 0.2 * inch))
        img3 = cv2.imread('pose3.jpg_keypoint.jpg')
        resize3 = cv2.resize(img3, (350, 300))
        cv2.imwrite('pose3.jpg_keypoint.jpg', resize3)
        img3 = Image('pose3.jpg_keypoint.jpg')
        self.elements.append(img3)
        self.elements.append(Spacer(1, 0.2 * inch))

        self.elements.append(Paragraph("""<font face="msyh">3.4 俯视图</font>""", style["h4"]))
        self.elements.append(Spacer(1, 0.2 * inch))
        img4 = cv2.imread('pose4.jpg_keypoint.jpg')
        resize4 = cv2.resize(img4, (350, 300))
        cv2.imwrite('pose4.jpg_keypoint.jpg', resize4)
        img4 = Image('pose4.jpg_keypoint.jpg')
        self.elements.append(img4)

        # 原始图片或者修改后的图片

        self.elements.append(Paragraph("""<font face="msyh">4. 修改后的四视图</font>""", style["h3"]))
        self.elements.append(Spacer(1, 0.2 * inch))
        self.elements.append(Paragraph("""<font face="msyh">4.1 正视图</font>""", style["h4"]))
        self.elements.append(Spacer(1, 0.2 * inch))
        img1 = cv2.imread('pose1.jpg')
        resize1 = cv2.resize(img1, (350, 300))
        cv2.imwrite('pose1.jpg', resize1)
        img1 = Image('pose1.jpg')
        self.elements.append(img1)
        self.elements.append(Spacer(1, 0.2 * inch))

        self.elements.append(Paragraph("""<font face="msyh">4.2 左视图</font>""", style["h4"]))
        self.elements.append(Spacer(1, 0.2 * inch))
        img2 = cv2.imread('pose2.jpg')
        resize2 = cv2.resize(img2, (350, 300))
        cv2.imwrite('pose2.jpg', resize2)
        img2 = Image('pose2.jpg')
        self.elements.append(img2)
        self.elements.append(Spacer(1, 0.2 * inch))

        self.elements.append(Paragraph("""<font face="msyh">4.3 后视图</font>""", style["h4"]))
        self.elements.append(Spacer(1, 0.2 * inch))
        img3 = cv2.imread('pose3.jpg')
        resize3 = cv2.resize(img3, (350, 300))
        cv2.imwrite('pose3.jpg', resize3)
        img3 = Image('pose3.jpg')
        self.elements.append(img3)
        self.elements.append(Spacer(1, 0.2 * inch))

        self.elements.append(Paragraph("""<font face="msyh">4.4 俯视图</font>""", style["h4"]))
        self.elements.append(Spacer(1, 0.2 * inch))
        img4 = cv2.imread('pose4.jpg')
        resize4 = cv2.resize(img4, (350, 300))
        cv2.imwrite('pose4.jpg', resize4)
        img4 = Image('pose4.jpg')
        self.elements.append(img4)

        self.elements.append(Spacer(1, 0.2 * inch))
        # 生成PDF文件

        # name = str(name) + '_体态系统报告.pdf'
        doc = SimpleDocTemplate(
            file_path,
            pagesize=(A4[0], A4[1]),
            topMargin=30,
            bottomMargin=30

        )
        doc.build(self.elements)
        #写入pdf文件


        import os
        os.system(name)

        # 将pdf另存其他路径
        # os.rename(name, 'D:/Python/test/'+name)

        # 删除中间文件
        # os.remove('pose1.jpg')
        # os.remove('pose2.jpg')
        # os.remove('pose3.jpg')
        # os.remove('pose4.jpg')
        # os.remove('pose1.jpg_keypoint.jpg')
        # os.remove('pose2.jpg_keypoint.jpg')
        # os.remove('pose3.jpg_keypoint.jpg')
        # os.remove('pose4.jpg_keypoint.jpg')




if __name__ == '__main__':


    app = QApplication([])
    zhongke = zhong()
    zhongke.ui.show()
    app.exec()
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值