-
KNN
-
算法
- 将空间中某个点分类到最相邻的K个点里类别最多的那个标签
-
opencv3用法
- knn = cv2.ml.KNearest_create()
- knn.train(trainData,cv2.ml.ROW_SAMPLE,reponses)
-
ret,result,neighbours ,dist = knn.findNearest(newcomer,k)
- result:数据newcomer被分配的标签
- neighbours: 与newcomer最临近的k个邻居的标签
- dist: k个邻居与newcomer的距离
- cv46_knn_ocr.py
-
SVM
-
算法
- 将低维空间的数据用核函数映射到高维
-
参数C的选择
- 如果 C 的取值比较大,错误分类会减少,但是边缘也会减小。
其实就是错误分类的代价比较高,惩罚比较大
- 如果 C 的取值比较小,边缘会比较大,但错误分类的数量会升高。
其实就是错误分类的代价比较低,惩罚很小
-
SVM+HOG识别手写字
- cv47_svm_ocr.py
-
kmeans
-
opencv用法
-
cv2.kmeans(samples, nclusters, criteria, attempts, flags)
-
samples
- np.float32 类型的数据,每个特征应该放在一列
-
nclusters
- 聚类的最终数目
-
criteria
- 终止迭代的条件
-
attempts
- 使用不同的起始标记来执行算法的次数
-
flags
- 用来设置如何选择起始重心
-
图像处理中使用
-
颜色量化
- 减少图片中的颜色呢,为了减少内存消耗
- cv48_kmeans.py