一、图像分类的过程
image.png
图片必须经过标注
图片的类别为有限的集合,如{猫、狗、牛、马、狼}
每个类别的图片数量接近,如果不同类别图片的数量差异很大,训练出来的分类器容易倾向于图片数量多的类别
划分训练/测试集
在训练之前,要把数据集划分为训练集(学习分类器)和测试集(对分类器进行评估)
训练集和测试集相互独立,不重合!
3.特征表示 :对图片进行数值处理,转换成计算机可理解的特征,常用特征:
颜色直方图(Color Histograms)
方向梯度直方图(Histogram of Oriented Gradients,HOG)
局部二值模式(Local Binary Pattern,LBP)
分类算法 :一般分类算法即可:逻辑回归,支持向量机(SVM),随机森林
模型评估 : 混淆矩阵(Confusion Matrix)
精确度(Precision)
召回率(Recall)
F1值(F1 score) recall与Precision的调和均值
二、开发环境:(安装)OpenCV 计算机视觉库
安装:
方法1:conda install -c menpo opencv
方法2:conda install --channel https://conda.anaconda.org/menpo opencv3
方法3:pip/conda install opencv-python
方法4:使用 whl 文件进行安装,进入网站 http://www.lfd.uci.edu/~gohlke/pythonlibs/。
下载与当前环境兼容的 opencv 文件。切换到该文件所在的目录,在命令行环境下使用
例如:安装文件:opencv_python-3.2.0-cp35-cp35m-win_amd64.whl
pip install opencv_python-3.2.0-cp35-cp35m-win_amd64.whl
opencv 的导入:
import cv2
cv2.__version__
OpenCV的使用
在线文档:http://docs.opencv.org/2.4.11/
三、颜色空间(颜色模型:RGB,HSV,Lab)
RGB颜色空间有:
RGB :模型容易理解,连续变换颜色时不直观
(红red 绿green 蓝blue)三原色:取值范围都是:[0,255],[0,255],[0,255]
HSV: 是为了数字化图像提出来了,不能很好的表示人眼解释图像过程
H (Hue)色相:[0,360]
S (Saturation)饱和度,即色彩纯净度,0饱和度为白色
V (Value/Brightness):明度 0明度为纯黑色
在OpenCV中,颜色范围:
H = [0,179]
S = [0,255]
V = [0,255]
Lab:颜色之间的欧式距离有具体含义–距离越大,人眼感官两种颜色差距越远
L 通道:像素亮度,上白下黑 中间灰
a 通道:左绿 右红
b 通道:一端纯蓝,一端纯黄
灰度图:每个像素[0,255]
根据人眼敏感度,把RGB图片转换为灰度图,不是简单把RGB每个通道取平均值
而是:Y = 0.299R + 0.587G + 0.114*B
image.png
3.1 opencv–HSV颜色空间
HSV(hue,saturation,value)颜色空间的模型对应于圆柱坐标系中的一个圆锥形子集,圆锥的顶面对应于V=1. 它包含RGB模型中的R=1,G=1,B=1 三个面,所代表的颜色较亮。
色彩H由绕V轴的旋转角给定。红色对应于 角度0° ,绿色对应于角