practice:
1.灰度化、模糊、Canny算子、膨胀、腐蚀
2.裁剪
3.创建数字矩阵并添加颜色、画线、长方形、圆、写字
4.透视变换(warp)
5.图像堆栈
6.使用滑动条块
7.获取图形轮廓,计算面积、周长、对角点,画出轮廓,并画出外轮廓,标注出是什么图形
8.运用级联分类器,识别脸部
project:
1.运用级联分类器识别车辆车牌
2.先进行颜色提取,得到具体的HSV值,再对该具体颜色进行识别提取轮廓
3.对文件进行获取轮廓并进行透视变换
1.虚拟键盘
创建图形化键盘,且识别手部关键点,通过手指位置实现按键控制
主要库:cvzone(提供手部追踪检测器)、pynput(控制、监控键盘鼠标)
2.角度测量
点击获取三个点,运用公式计算得到角度并标注
3.人脸68个关键点检测,并提取嘴部部分
dlib库采用68点位置标志人脸重要部位,比如18-22点标志右眉毛,51-68标志嘴巴。
4.人脸打卡系统
使用face_recognition库进行人脸的定位,解码和计算距离
5.目标检测
有ssd和yolov3两种方法,使用已有配置文件和权重文件,进行
eg:目标检测主流的算法主要分为两个类型(参考RefineDet):
(1)two-stage方法,如R-CNN系算法,其主要思路是先通过启发式方法(selective search)或者CNN网络(RPN)产生一系列稀疏的候选框,
然后对这些候选框进行分类与回归,two-stage方法的优势是准确度高;
(2)one-stage方法,如Yolo和SSD,其主要思路是均匀地在图片的不同位置进行密集抽样,抽样时可以采用不同尺度和长宽比,
然后利用CNN提取特征后直接进行分类与回归,整个过程只需要一步,所以其优势是速度快,但是均匀的密集采样的一个重要缺点是训练比较困难,
这主要是因为正样本与负样本(背景)极其不均衡(参见Focal Loss),导致模型准确度稍低。
6.物体尺寸检测
获取轮廓,透视变换和尺寸计算
7.全景拼接
运用cv2的Stitcher进行拼接
8.QR码的检测
运用pyzbar库进行QR解码
9.文本检测
运用pytesseract库和Tesseract-OCR文件
10.物体追踪
运用cv的TrackerKCF_create函数创建追踪器