系统设计与开发 实验报告-2
1. 实验内容
本实验为 OpenCV 的基础操作,包含 OpenCV 入门、OpenCV 几何变换、OpenCV 图片处理和绘制文字线段、图像美化等内容,为后续基于 OpenCV 的视频处理奠定基础。
2. 实验目的
通过本实验掌握基于 OpenCV 的如下内容:
- 基础操作:基于 OpenCV 图片读取与展示、图片写入、像素操作等;
- 几何变换:图片缩放、图片剪切、透视变换等;
- 图片处理和绘制文字线段:图像二值化、矩形圆形绘制、文字图片绘制;
- 图像美化:彩色图片直方图、高斯均值滤波等;
3. 程序清单
3.1 任务一
图像二值化。
3.1.1 实验步骤
利用 OpenCV 提供的函数 cv2.imread() 读入图片,利用 cv2.cvtColor() 函数将图片转换成灰度图像,多次处理数据与阈值,将其绘制在同一张图片上,使用 plt.show() 函数并显示在 Jupyter 上。
3.1.2 实验代码
▶
Code
1 | |
3.2 任务二
图形绘制。
3.2.1 实验步骤
设定一个存储图片规格的参数,利用 np.zeros() 函数创建一个存储图片的对象,使用 OpenCV 的绘图函数,经多次叠加形成最终的图案。
3.2.2 实验代码
▶
Code
1 | |
3.3 任务三
文字图片绘制。
3.3.1 实验步骤
使用 cv2.imread() 读入背景图片,使用 OpenCV 的绘图和文字注释函数,在背景图片上叠加上预期图形及文字。
3.3.2 实验代码
▶
Code
1 | |
3.4 任务四
彩色图片直方图。
3.4.1 实验步骤
使用 cv2.imread() 读入背景图片,分别利用 cv2.cvtColor() 函数和 cv2.calcHist() 函数转换为彩色直方图。
3.4.2 实验代码
▶
Code
1 | |
3.5 任务五
高斯均值滤波。
3.5.1 实验步骤
使用 cv2.imread() 函数读入待处理图片,利用 cv2.GaussianBlur() 函数对整张图片进行加权平均,最后输出原图和处理后图片进行对比。
3.5.2 实验代码
▶
Code
1 | |
4. 分析与思考
- 实验总结和收获:
初步学会了 OpenCV 的基础操作,可以使用 OpenCV 对图片进行几何变换、绘制文字线段、图像美化等操作,加深了对于 OpenCV 内各函数的理解。
- 实验失败/待改进:对于 OpenCV 的进阶用法还无法熟练运用。
系统设计与开发 实验报告-2
https://flowerdown.org/posts/20221013-141348