首页 > 上网技巧 > 在OpenCV里使用SVM识别手写数字

在OpenCV里使用SVM识别手写数字

时间:2021-10-23 10:04 作者:QQ地带 我要评论

前面使用了kNN算法来识别手写数字,我们是直接把数字的灰度值大小作为特征值来学习。而这里要使用SVM算法,是否也可以使用灰度值来做呢?对于SVM算法来说,可能要采用另外一个特征方式,叫做梯度方向直方图HOG(Histogram of Oriented Gradients)。如果对HOG不是很了解,可以参考下面连接的文章:
 
 
在我们计算HOG之前,要做一件事情,就是把所有手写的图片进行角度校正,因此要使用图像的矩计算,并且用它第二项值,所以定义函数deskew()如下:
 
def deskew(img):
 
    m = cv.moments(img)
 
    if abs(m['mu02']) < 1e-2:
 
        return img.copy()
 
    skew = m['mu11']/m['mu02']
 
    M = np.float32([[1, sk

标签: OpenCV
顶一下
(0)
0%
踩一下
(0)
0%

Google提供的广告