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

一、任务目标
做实验前先打开工具箱:能成功导入并看到版本号,就说明 OpenCV 环境就绪,可以开始读图。
二、核心概念讲清楚
cv2 是 OpenCV 的 Python 接口名。导入成功后才能调用 imread、cvtColor 等函数。
import cv2cv2.__version__查看版本- 浏览器课使用 Pyodide 中的 opencv-python
1写 import导入 cv2
2打印版本确认可用
3试一个简单调用如创建小数组图
4再进入读写下一课学文件
三、跟着想一遍(小例子)
import cv2 后 print(cv2.__version__) 应输出版本字符串。
易错:写成 import opencv 或 import cv。
正确:统一使用 import cv2。
想一想:为什么导入名是 cv2 而不是 opencv?
四、算法思路
任务:做实验前先打开工具箱:能成功导入并看到版本号,就说明 OpenCV 环境就绪,可以开始读图。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。
本课主要用到:图像输入、图像预览/对照区。
- 1明确任务「第一次导入 cv2 与版本」:运行后你希望看到什么结果(文字、图形或计算结果)。
- 2确认输入:演示图/上传照片/摄像头抓一帧,得到一张可用的 BGR 图。
- 3用 print 核对 shape/检测数量等关键信息,并对照图像页预览。
- 4对照参考代码跑通后,只改一个参数,观察结果如何变化。
流程示意(可对照左侧文字)
五、语句功能讲解
本课用到的 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, "导入成功")
正在载入编程环境
正在载入 Mixly 文本编程环境…
八、课堂练习
选出你认为正确的一项,再点「检查」。
常见导入写法是?
九、本节小结
工具箱在手。