Description: Face detection made in Processing based on OpenCV library. It detects the form of a human face in a webcam stream and outputs a red square around that person s face. Get processing from www.processing.org for fr-Face detection made in Processing based on OpenCV library. It detects the form of a human face in a webcam stream and outputs a red square around that person s face. Get processing from www.processing.org for free Platform: |
Size: 1024 |
Author:valentin |
Hits:
Description: 首先,请检查/样品在你的OpenCV的分布/ C/ squares.c的。这个例子提供了一个方形的检测,如何检测角落类似的功能,它应该是一个不错的开始。然后,一起来看看在OpenCV的功能,导向功能,如cvCornerHarris()和cvGoodFeaturesToTrack()。
上述方法可以返回许多角落类似的功能 - 最不会“真正的角落”你正在寻找。在我的应用程序,我只好检测,旋转或倾斜的广场(透视)。我的检测流水线包括:
从RGB转换为灰度级(cvCvtColor)
平滑(cvSmooth)
阈值(cvThreshold)
检测边缘(cvCanny)
查找轮廓(cvFindContours的)
线性特征的大致轮廓与(cvApproxPoly)
查找“矩形”,这是结构:已经拥有4个点的polygonalized轮廓,有足够的面积,相邻的边〜 90度,“对面的”顶点之间的距离足够大,等等。
第7步是必要的,因为稍微嘈杂的图像可以产生许多结构出现矩形后polygonalization。在我的应用程序中,我也有处理方状结构,内出现,或重叠所需的平方。我发现轮廓的区域属性和重心是有帮助的挑剔适当的矩形。-First, check out /samples/c/squares.c in your OpenCV distribution. This example provides a square detector, and it should be a pretty good start on how to detect corner-like features. Then, take a look at OpenCV s feature-oriented functions like cvCornerHarris() and cvGoodFeaturesToTrack().
The above methods can return many corner-like features- most will not be the "true corners" you are looking for. In my application, I had to detect squares that had been rotated or skewed (due to perspective). My detection pipeline consisted of:
Convert from RGB to grayscale (cvCvtColor)
Smooth (cvSmooth)
Threshold (cvThreshold)
Detect edges (cvCanny)
Find contours (cvFindContours)
Approximate contours with linear features (cvApproxPoly)
Find "rectangles" which were structures that: had polygonalized contours possessing 4 points, were of sufficient area, had adjacent edges were ~90 degrees, had distance between "opposite" vertices was of sufficient size, etc.
Platform: |
Size: 1024 |
Author:clark |
Hits: