零基础入门:Computer Science Circles带你轻松学Python编程

需积分: 9 0 下载量 198 浏览量 更新于2024-09-02 收藏 2KB MD 举报
"Python_Computer Science Circles" 是一个面向零编程基础人群的在线学习平台,由滑铁卢大学数学与计算机教育中心开发,提供免费的Python编程教育资源。该网站设计初衷是为了让任何人都能够轻松入门编程,无需在本地安装任何软件,利用其半互动式的教学方式教授基础知识。 该课程的特点包括: 1. 友好入门:针对完全新手,无需编程背景,任何人都可以访问并开始学习。课程采用逐步引导的方式,通过一系列清晰的教程和实践练习,帮助用户建立基础概念。 2. 免费与账户管理:网站是免费的,用户可以创建个人账户,所有学习进度会被自动保存,方便跟踪和回溯学习过程。中文界面也提供了便利,点击“zh”按钮即可切换到适合中国用户的界面。 3. 互动学习体验:网站设计有控制台和可视化工具,学习者不仅能在课程中进行练习,还能在独立环境中运用这些工具编写和运行代码。控制台用于实时反馈,可视化工具则有助于理解和掌握编程逻辑。 4. 多语言支持:虽然推荐从英文版开始学习,因为编程领域英语是主导,但网站同时提供中英文版本,便于不同语言背景的学习者适应。 5. 学习进度展示:通过个人菜单,用户可以看到自己的学习进度,包括已完成的练习和获得的成就,如图所示。 6. 视觉化教学:提供的动态图像和步骤说明有助于直观理解编程概念,使复杂的过程变得简单易懂。 "Computer Science Circles" 是一个非常适合初学者的Python学习平台,通过实践和逐步深入的教学方法,为无编程基础的人提供了一个系统且易于跟进的学习路径。无论是为了个人兴趣还是职业发展,这个资源都是一个值得尝试的起点。
2023-06-12 上传

修改此代码使其可重复运行import pygame import sys from pygame.locals import * from robomaster import * import cv2 import numpy as np focal_length = 750 # 焦距 known_radius = 2 # 已知球的半径 def calculate_distance(focal_length, known_radius, perceived_radius): distance = (known_radius * focal_length) / perceived_radius return distance def show_video(ep_robot, screen): 获取机器人第一视角图像帧 img = ep_robot.camera.read_cv2_image(strategy="newest") 转换图像格式,转换为pygame的surface对象 img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img = cv2.transpose(img) # 行列互换 img = pygame.surfarray.make_surface(img) screen.blit(img, (0, 0)) # 绘制图像 def detect_white_circle(ep_robot): 获取机器人第一视角图像帧 img = ep_robot.camera.read_cv2_image(strategy="newest") 转换为灰度图像 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 进行中值滤波处理 gray = cv2.medianBlur(gray, 5) 检测圆形轮廓 circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1, 50, param1=160, param2=40, minRadius=5, maxRadius=60) if circles is not None: circles = np.uint16(np.around(circles)) for circle in circles[0, :]: center = (circle[0], circle[1]) known_radius = circle 在图像上绘制圆形轮廓 cv2.circle(img, center, known_radius, (0, 255, 0), 2) 显示图像 distance = calculate_distance(focal_length, known_radius, known_radius) 在图像上绘制圆和距离 cv2.circle(img, center, known_radius, (0, 255, 0), 2) cv2.putText(img, f"Distance: {distance:.2f} cm", (center[0] - known_radius, center[1] - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2) cv2.imshow("White Circle Detection", img) cv2.waitKey(1) def main(): pygame.init() screen_size = width, height = 1280, 720 screen = pygame.display.set_mode(screen_size) ep_robot = robot.Robot() ep_robot.initialize(conn_type='ap') version = ep_robot.get_version() print("Robot version: {0}".format(version)) ep_robot.camera.start_video_stream(display=False) pygame.time.wait(100) clock = pygame.time.Clock() while True: clock.tick(5) # 将帧数设置为25帧 for event in pygame.event.get(): if event.type == QUIT: ep_robot.close() pygame.quit() sys.exit() show_video(ep_robot, screen) detect_white_circle(ep_robot) if name == 'main': main()

2023-07-13 上传