单元一

第2课 第一次导入 cv2 与版本

打开 cv2 工具箱
任务场景:打开 cv2 工具箱
import
原理图:import → 使用 cv2.xxx

一、任务目标

做实验前先打开工具箱:能成功导入并看到版本号,就说明 OpenCV 环境就绪,可以开始读图。

二、核心概念讲清楚

cv2 是 OpenCV 的 Python 接口名。导入成功后才能调用 imread、cvtColor 等函数。

  • import cv2
  • cv2.__version__ 查看版本
  • 浏览器课使用 Pyodide 中的 opencv-python
1写 import导入 cv2
2打印版本确认可用
3试一个简单调用如创建小数组图
4再进入读写下一课学文件

三、跟着想一遍(小例子)

import cv2print(cv2.__version__) 应输出版本字符串。

易错:写成 import opencv 或 import cv。

正确:统一使用 import cv2。

想一想:为什么导入名是 cv2 而不是 opencv?

四、算法思路

任务:做实验前先打开工具箱:能成功导入并看到版本号,就说明 OpenCV 环境就绪,可以开始读图。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。

本课主要用到:图像输入、图像预览/对照区。

  1. 1明确任务「第一次导入 cv2 与版本」:运行后你希望看到什么结果(文字、图形或计算结果)。
  2. 2确认输入:演示图/上传照片/摄像头抓一帧,得到一张可用的 BGR 图。
  3. 3用 print 核对 shape/检测数量等关键信息,并对照图像页预览。
  4. 4对照参考代码跑通后,只改一个参数,观察结果如何变化。

流程示意(可对照左侧文字)

任务:第一次导入c…确认输入:演示图/上传照片…用print核对shape…对照参考代码跑通后,只改一…

五、语句功能讲解

本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。

六、知识点讲解

环境确认:成功 import cv2 并打印版本,说明 OpenCV 可用,再开始读图与处理。

先弄清本课输入与输出,再进编程练习对照现象。

七、编程练习

先理解概念,再在下方 Mixly 运行(opencv-python);没有摄像头可用演示图或上传照片。请先读本页「四、算法思路」与「五、知识讲解」,再点载入。

应看到版本号。

参考代码(对照抄写到下方 Mixly)
import cv2
import numpy as np

def show_bgr(img, title="预览"):
    """显示到 Mixly「OpenCV」页签右侧对照区(灰度会先转成 BGR)"""
    if img is None:
        return None
    vis = img
    if len(getattr(img, "shape", ())) == 2:
        vis = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
    try:
        from js import window
        push = getattr(window, "__ailessonsShowCvResultB64", None)
        if push:
            ok, buf = cv2.imencode(".jpg", vis, [int(cv2.IMWRITE_JPEG_QUALITY), 88])
            if ok:
                import base64
                push(base64.b64encode(buf.tobytes()).decode("ascii"), str(title or "处理结果"))
    except Exception as e:
        print("对照区显示跳过:", e)
    try:
        cv2.imshow(vis, title)
    except Exception:
        try:
            cv2.imshow(title, vis)
        except Exception as e:
            print("图像页显示跳过:", e)
    return None

print("cv2 已导入")
print("版本:", cv2.__version__)
img = np.zeros((80, 120, 3), dtype=np.uint8)
img[:, :] = (40, 90, 200)
cv2.putText(img, "cv2 OK", (12, 48), cv2.FONT_HERSHEY_SIMPLEX, 1.0, (255, 255, 255), 2)
show_bgr(img, "导入成功")

八、课堂练习

选出你认为正确的一项,再点「检查」。

  1. 常见导入写法是?

九、本节小结

工具箱在手。