盲人视觉辅助系统

课后作业

作业1

  1. 打印输出
    编写一个程序,打印出自己的名字和一句问候语

    使用两种方式打印输出:你好xxx

  2. 条件语句
    编写一个程序,输入一个数字,然后判断这个数字是奇数还是偶数,并输出相应的结果,如果是奇数则输出是奇数,否则输出是偶数

    先查询资料学习函数input()的使用方法,函数in = input()能够读取用户键盘的输入,并将输入赋值给变量in

  3. 循环
    编写一个程序,计算1到100的所有整数的和,然后输出结果。

    另:可以使用求和公式,计算的次数会少很多

  4. 列表

    • 创建一个列表,包含几种水果的名称,然后编写一个程序,遍历列表并输出每种水果的名字。

    • 实现函数add_item(li, index, val)

  5. 函数
    编写一个函数,接受三个参数num1, num2, sign(两个数字和一个运算符),然后根据运算符进行计算并返回计算结果。

    函数定义:def opt(num1, num2, sign)

  6. 简单的游戏
    设计一个简单的文本游戏,例如猜数字游戏或石头剪刀布游戏。

  7. 综合项目
    使用类来设计一个能够进行四则运算的计算器程序。

    提示:

    class Calculator:
    	def add(a, b):
        	...
    	def sub(...):
        	...
     	...
     
    my_calculator = Calculator()  # 初始化一个名叫`my_calculator`的对象
    print(my_calculator.add(1, 3))  # 计算 1 + 3
    

作业2

  1. 字符串操作

    1. 编写一个程序,输入一个句子,统计并输出句子中的单词数。

      提示:可以使用字符串的split()方法

    2. 将一个字符串如abc cdd cc ddd,将中间有多个空格的去除掉,只保留一个空格,即输出abc cdd cc ddd

  2. 文件操作
    编写一个程序,将用户输入的内容写入到一个文件中,然后读取该文件并打印出内容。

    提示:使用open()方法进行文件操作

  3. 字典操作
    编写一个程序,创建一个字典,包含几种水果及其价格,然后遍历字典并输出每种水果的名称和价格。

    提示:查询Python中的dict数据类型

    额外挑战:让用户输入水果名称,程序输出对应的价格,如果水果不存在,提示用户水果不存在

  4. 递归函数
    编写一个递归函数,计算并返回一个整数的阶乘。

    提示:递归函数是指在函数中调用这个相同的函数

    函数定义:def factorial(n)

  5. 类与对象
    设计一个类,表示一个学生,包含姓名、年龄和成绩三个属性,并包含一个方法用于打印学生的详细信息。然后创建几个学生对象,并调用其方法输出信息。

    提示:使用__init__()方法进行初始化,学生默认的姓名为张三,年龄为10,成绩为90

  6. 列表排序
    编写一个程序,创建一个包含多个学生成绩的列表,然后编写一个函数对该列表进行排序,并输出排序后的结果。

    提示:使用sorted()函数

    函数定义:def sort_scores(scores)

  7. 综合项目
    使用类来设计一个学生管理系统,包括添加学生、删除学生、查看所有学生和查找学生四个功能。

    提示:

    class Student:
    	def __init__(self, name, age, grade):
     ...
    class StudentManager:
    	def add_student(self, student):
    	...
    	def remove_student(self, student_name):
    	...
    	def display_students(self):
    	...
    	def find_student(self, student_name):
    	...
    
    manager = StudentManager()
    student1 = Student("Alice", 16, "A")
    manager.add_student(student1)
    manager.display_students()
    

    提示:需要使用到对象中方法的重载,需要重载Student__str__()方法

项目拆解

语音关键词识别功能

教程链接:https://blog.51cto.com/u_16099203/7171249?abTest=51cto

opencv

教程链接:https://www.bilibili.com/video/BV1BT4y1Z7WS/?spm_id_from=333.788.recommend_more_video.2&vd_source=d4cdd6c39a30a96355c0ea5ca8e32488

mediapipe

教程链接:https://www.bilibili.com/video/BV1GR4y1W7KS/?vd_source=d4cdd6c39a30a96355c0ea5ca8e32488

任务

  1. 自学博客中一、学会休眠和语言唤醒内容,并实现英文短语和中文词的唤醒功能

    可以参考以下代码:

    def keyword_recognition():
     speech = LiveSpeech(
         verbose=False,
            sampling_rate=16000,
            buffer_size=2048,
            no_search=False,
            full_utt=False,
            hmm='./zh-cn',
            lm='./keyword_zh/3746.lm',
            dic='keyword_zh/3746.dic'
        )
        for phrase in speech:
            if str(phrase) in ['文字识别', '图片理解']:
                print(f"keyword: {phrase}")
       
       keyword_recognition()
    
  2. 自学opencv的视频教程,并完成下面的作业内容:

    1. 读取本地的一张图片并使用窗口显示

    2. 将图片从RGB色彩模式转换成HSV色彩模式,观察图片发生了什么变化

    3. 将图片正中间裁剪出100x100的图片并使用窗口显示裁剪后的图像(裁剪部分填充白色)和被裁剪的图片

    4. 在图片正中间绘制一个100x100的矩形,矩形的左上角点上方放置文字内容:100x100 rectangle,效果图如下:
      img

    5. 读取摄像头采集的图片帧并使用窗口显示

  3. 自学mediapipe的视频教程,并完成下面的作业内容:

    1. 编写程序检测一张图片中的手,并将检测到的所有手部关键点和关节连线绘制在图片帧上,并使用窗口显示

    2. 使用上面的摄像头采集视频流并进行实时检测(与上面1相同)

    3. 检测两只手的大拇指指尖,如果存在两只手的大拇指指尖,则以两个指尖坐标作为矩形的两个对角点绘制矩形

posted @ 2024-06-27 16:55  MaximeSHE  阅读(18)  评论(0编辑  收藏  举报