击剑动作识别程序-参数设置和视频文件选择

欢迎使用击剑动作识别程序V6.2(作者:冯楠20201888)

1. 选择输入视频文件

  • 支持格式:*.mp4, *.avi

2. 调整参数

  • 距离阈值:用于控制识别动作的灵敏度。
  • 邻居数量:用于控制识别动作的稳定性。

使用方法

  1. 运行程序。
  2. 点击'选择文件'按钮选择输入视频文件。
  3. 使用滑动条调整距离阈值和邻居数量参数。
  4. 点击'运行'按钮开始处理视频。

代码示例

import tkinter as tk
from tkinter import filedialog
import cv2

# 修改distance_threshold
def set_distance_threshold(value):
    global distance_threshold
    distance_threshold = int(value)

# 创建窗口
root = tk.Tk()
root.withdraw()

# 显示使用说明信息
info = '欢迎使用击剑动作识别程序V6.2(作者:冯楠20201888)\n请选择输入视频文件\n支持格式:*.mp4, *.avi\n点击确认选择文件'
tk.messagebox.showinfo('使用说明', info)

# 定义选择文件函数
def select_file():
    global input_path
    root3 = tk.Tk()
    root3.title('选择文件')
    input_path = filedialog.askopenfilename(title='选择输入视频文件', filetypes=[('视频文件', '*.mp4;*.avi'), ('所有文件', '*.*')])
    root3.destroy()
    if not input_path:
        tk.messagebox.showerror('错误', '未选择输入视频文件!')
        root3.destroy()
        return
    # 更新标签显示选择的文件路径
    file_label.config(text=input_path)

def closeit():
    root2.destroy()

# 创建窗口2
root2 = tk.Tk()
root2.title('选择文件,调整参数')
root2.geometry('400x600')

# 创建标题
file_titles = tk.Label(root2, text='击剑动作识别程序', font=('宋体', 18))
file_titles.pack(pady=20)
# 创建标签
file_label = tk.Label(root2, text='未选择文件')
file_label.pack(pady=20)
file_label.config(bg='#e9ccd3')

select_button = tk.Button(root2, text='选择文件', command=select_file)
select_button.pack(pady=10)
# 创建标题
file_titles = tk.Label(root2, text='参数调整', font=('微软雅黑', 13))
file_titles.pack(pady=20)
# 创建滑动条
scale = tk.Scale(root2, from_=0, to=200, orient=tk.HORIZONTAL, length=150, label='距离阈值', command=set_distance_threshold)
scale.set(distance_threshold)
scale.pack()


def set_neighbors(val):
    global neighbors
    neighbors = int(val)
# 创建滑动条
scale = tk.Scale(root2, from_=1, to=10, orient=tk.HORIZONTAL, length=150, label='邻居数量', command=set_neighbors)
scale.set(neighbors)
scale.pack()



# 创建按钮

run_button = tk.Button(root2, text='运行', command=closeit)
run_button.pack(pady=20)

# 创建标签
file_name = tk.Label(root2, text=f"作者:冯楠2020188 物联网2班\n指导教师:朱勇\n版本:{version}", font=("Arial", 14))
file_name.pack(pady=20)
# 关闭窗口
root.destroy()
# 运行窗口
root2.attributes('-topmost', True)#窗口在最前
root2.mainloop()


root = tk.Tk()
root.withdraw()
info = f"视频已输出至{input_path}_OUT.mp4"
tk.messagebox.showinfo('处理完成', info)

tkinter标准GUI库在本程序中的作用

在本程序中,tkinter标准GUI库被用于创建一个图形用户界面(GUI),用于选择输入视频文件和调整参数。具体来说,程序中使用了以下tkinter组件:

  1. tk.Tk():创建一个主窗口
  2. tk.Label():创建标签用于显示文本信息
  3. tk.Button():创建按钮用于触发事件
  4. tk.Scale():创建滑动条用于调整参数
  5. tk.messagebox.showinfo():创建消息框用于显示处理完成信息

通过使用这些组件,程序可以提供一个友好的界面,让用户可以方便地进行文件选择和参数调整,并且可以通过消息框向用户输出处理完成的信息。


原文地址: https://www.cveoy.top/t/topic/gQ0y 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录