对Sobel滤波器进行一些阅读。
http://en.wikipedia.org/wiki/Sobel_operator
你可以在每个像素处基本获得垂直和水平梯度。 以下是OpenCV的函数。http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=sobel#sobel
一旦您获取了这些过滤图像,就可以按列/行收集统计数据并确定是否为边缘,并获取该位置。opencv_createsamples
创建训练图像,从一小组图像中扭曲以模拟不同方向和平均强度。然后,您可以使用实用程序opencv_traincascade
设置几个命令行参数以选择不同的训练选项,并输出经过训练的分类器。image = cv2.imread('path/to/image')
cc = cv2.CascadeClassifier('path/to/classifierfile')
objs = cc.detectMultiScale(image)