金砖创新 - 云边端应用开发学习记录
被拉去参加一个没听过的奇奇怪怪的比赛,学习了一些奇奇怪怪的深度学习的东西,记录一下奇奇怪怪的事情
环境相关
# Python 版本:3.7.7 |
# 换清华源 |
# 降低 urllib3 |
jupyter Lab 自动补全
1. 安装 jupyterlab-lsp
pip install jupyterlab-lsp |
2. 开启自动补全
路径:Settings -> Advanced Settings Editor -> Notebook
{ |
读取视频并抽帧
打开”com_rec/task1/collect/ 数据采集.ipynb”文件,完成以下任务:
1. 读取视频并查看视频信息
# <1> 读取视频 |
2. 视频抽帧
# <1> 读取图像 |
数据处理
打开”com_rec/task1/process/ 数据处理.ipynb”文件,完成以下任务
1. 完成系统 OS 模块使用
# <1> 判断文件夹是否存在 |
2. 完成 2.3 图像颜色转换
# <1> 定义图像盒子,赋值给 imgbox_GARY |
3. 完成 2.4 二值化处理
# <1> 传入灰度图像,阈值为变量 threshold,超过阈值像素改为 255,采用 cv2.THRESH_BINARY_INV 的实施方式 |
4. 完成 2.5 图像边缘检测
# <1> 读取当前目录下的 wuyanzu.png 的灰度图片 |
其他特别备注相关
# CV2,窗口等待 5ms |
基于给定评分细则和标准
数据采集
查看“camera.ipynb”代码块 1:
# 读取摄像头一帧图像
cv2.VideoCapture(camera_id)
# 图象在 "image_win", 括号内的 2 个参数
cv2.imshow("image_win", image)
# 图像显示延迟 5ms
cv2.waitkey(5)
# 图像保存,括号内 2 个参数
cv2.imwrite("image/image_{}.jpg".format(num), self.image)查看“camera.ipynb”代码块 2:
# 实例化化 CameraThread 类,括号内的 3 个参数
camera_th = CameraThread(0, 640, 480)
# 启动摄像头线程
camera_th.start()查看“camera.ipynb”代码块 3:
# 调用摄像头线程图像保存方法
camera_th.save_img(num)
# 停止摄像头线程,释放资源
camera_th.stop()查看 image 文件夹
pass
数据特征提取
查看“process.ipynb”代码块 1:
# 生成旋转矩阵,括号内 3 个参数
# 补全括号内三个形参,中心点 center, 旋转角度 angle, 图像缩放比 scale
M = cv2.getRotationMartix2D(center, angle, scale)
# 执行旋转,括号内 3 个参数
# 补全括号内三个形参, 图片 img, 旋转矩阵 M, 坐标(w, h)
rotateg_img = cv2.warpAffine(img, M, (w, h))
# 获取目标文件夹文件数目
# 文件夹内完全由文件组成,不考虑二级目录的情况
img_num = len(img_list)
# 提取 img_list 前 20% 图像
# 向前 20% 切片
for img in img_list[:(img_num * 0.2)]:
# 调用图片旋转方法,括号内 2 个参数 '
# 补全 rotate 方法两个实参, 图片内容 img_data, 旋转角度 -90
rotated_img = rotate(img_data, -90)
# 图像保存,括号内 2 个参数
# 补全 imwrite 方法两个形参, 保存路径 save_path, 旋转后图片 rotated_img
cv2.imwtire(save_path, rotated_img)
## 有运行报文
pass查看“processed”文件夹:文件夹内有 2 张图片文件
算法训练与性能评估
AI 应用系统开发
- 完成“2.2 人脸检测”:
# 请在下方 `<1>` 处填写代码, 读取位于 `./src/wuyanzu.png` 下的待测图片 |
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自枫林·浅羽·云梦
评论 ()