主要的工作是利用PyQt绘制界面,界面主要是编辑与发送两功能,而聊天机器人,能够根据发送的内容进行反馈,主要包括Online和offline两种模式。

online模式:利用百度api,进行联网,调用百度api的接口实现自动回复

offline模式:根据输入的内容,手动设置对应的应答要求,相当于根据输入设置好了输出。

先上部分代码:

以下代码是利用PyQt绘制界面的代码,需要对界面中的尺寸、运行情况进行设置。


import pygame       #做游戏 游戏模块
import  sys          #系统
import random        #随机数    random.randint(start,end)
import time
#常量(全大写)行业规定不改

WIN_WIDTH=600   #窗口宽度
WIN_HEIGHT=500  #窗口高度
BLOCK_WIDTH=50  #格子宽度
BLOCK_HEIGHT=50  #格子高度
ROW=4  #行
COL=4  #列
center_x=WIN_WIDTH/2-BLOCK_WIDTH*ROW/2      #左上位置的横坐标
center_y=WIN_HEIGHT/2-BLOCK_HEIGHT*COL/2    #左上位置的纵坐标
print("左上位置的坐标:",center_x,center_y)

pygame.init()     #pygame  界面初始化
screen=pygame.display.set_mode((WIN_WIDTH,WIN_HEIGHT))  #宽 高 600*500
#while循环保证窗口可以一直运行
#(0,0,0)黑色 (255,255,255)白色
screen.fill((0,100,100)) #背景填充
while True:
    #生成3行3列的9个格子
    for i in range(0,COL):        #range左闭右开  行的循环
         for j in range(0,ROW):      #列的循环
            r=random.randint(0,255)
            g=random.randint(0,255)
            b=random.randint(0,255)
            #画矩形                  #随机生成颜色
            pygame.draw.rect(screen,(r,g,b),          # 横坐标相同 纵坐标以50递增 (0,0) (0,50) ;纵坐标同理
            (center_x+j*BLOCK_WIDTH,center_y+i*BLOCK_HEIGHT,BLOCK_WIDTH,BLOCK_HEIGHT)) #(x,y,width,heigth)
            #实时更新
         pygame.display.update()#实时更新 注意缩进的位置
         #延时0.5s
         time.sleep(0.5)
    #监听用户点击关闭按钮事件
    #遍历所有的事件
    for event in pygame.event.get():
        #判断事件的类型 退出操作
        if event.type==pygame.QUIT:
            #整个程序结束运行
            sys.exit(0)


效果图:

在线方式:可以填写输入,然后发送,通过计算后会自动生成聊天内容并发送回来。以下是随机聊天的结果(可以和机器人无限拉扯哈哈哈)

离线方式:可以根据输入,给出一些固定的反馈结果。

也就是说,根据我的输入制定好了对应的输出,使得可以实现相互之间的自动应答。

部分代码如下:

这里是界面初始化代码,通过引用本地的一些图片,构成了上面所示的交互界面。

class ChatBox(QWidget):
    def __init__(self):
        super().__init__()      #实现父类的构造函数
        self.init_ui()

    def init_ui(self):
        #窗口的初始化
        self.setWindowTitle("西西")
        self.setWindowIcon(QIcon("img/emotion.png"))
        self.resize(400,460)
        #所有的控件
        self.top=QListWidget(self)
        self.top.setGeometry(10,10,380,380)
        self.top.setStyleSheet("border-image:url(img/xiaoxiong.jpg);text-align:right")
        #加载图片          
        self.user_input=QLineEdit(self)
        self.user_input.setGeometry(10,400,300,50)
        self.user_input.setStyleSheet("border-radius:4px;background-color:white;color:black;text-align:center")
        self.button=QPushButton("Send",self)
        self.button.setGeometry(310,400,80,50)
        self.button.setStyleSheet("background-color:pink;border-radius:4px;color:black")
        #信号(按钮点击)与槽(函数)
        self.button.clicked.connect(self.show_message)  #没有小括号

    def show_message(self):
        #获取用户输入的内容
            print(self.user_input.text())
        #显示在聊天框
        #根据用户问题的关键字

            item=QListWidgetItem(self.user_input.text(),self.top)
            item.setTextAlignment(2)
            answer= get_reply1(self.user_input.text())
            QListWidgetItem(QIcon("img/emotion.png"),answer, self.top)
            self.user_input.clear()
        #清除输入框

以上的所有项目代码,一杯奶茶(15r),可以私信一起交流。email:yangsober@163.com

随着全民健身热潮的兴起,越来越多的人积极参加健身锻炼,但由于缺乏科学的运动指导,使健身难以取得相应的效果。在2020年《国务院办公厅关于加强全民健身场地设施建设发展群众体育的意见》中指出的:“推进互联网+健身”,提高全民健身公共服务智能化、信息化、数字化水平;2021年7月,国务院印发的《全民健身计划(2021-2025年)》指出:推进体育产业数字化转型,提供全民健身智慧化服务。国家政策的引导为更好满足人们的健身需求指明了智能化发展方向,智能健身这个新兴领域正成为产业新风口。

随着计算能力的大幅提升以及大规模带有标注的图像和视频数据集的出现,深度学习被应用于各种视频分析任务。人体姿态估计是计算机视觉领域中的一个重要研究方向,是人体动作识别中的一个关键问题,也是当前的研究热点。基于视觉的人体姿态估计主要是从图像中检测出人体各个部位或关节的位置,及其方向和尺度信息,它给对人体动作姿态进行自动识别带来一种全新的交互方式。

市面上现有的健身应用程序仅提供标准的健身视频让用户跟着做,而忽略了与用户之间的交互以及对用户动作的评估。基于深度学习的人体姿态估计,使得为用户自动分析健身运动并提供指导成为可能。为了响应国家的智慧健身政策和满足大众的实际需求,我们将对姿态估计算法进行深入研究,并将人体姿态估计算法更好的应用到运动健身领域中,实际设计一套可以服务于大众的智慧健身设施,来对使用者的健身运动提供科学的指导,使得使用者可以充分利用锻炼时间,提高锻炼质量。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐