OpenCv形状检测
OpenCv Shape Dectection
我正在使用Opencv来检测将被固定在传动带上的材料的形状和尺寸(如不同尺寸的圆盘、垫圈、螺母和螺栓)。区分它们的最佳功能是什么。我计划使用cvFindContours(查找形状)和cvArcLength&cvContourArea获取他们的区域。
有更好的方法吗?
这是一种简单的形状匹配方法:
- 转换为灰度
- 平滑图像
- 应用一些形态学运算(如有必要)
- 边缘检测
- 查找轮廓(与您提到的相同)。轮廓函数具有层次性。因此,分割所需的(在大多数情况下是外部的)轮廓应该很容易。圆盘和垫圈可以通过轮廓层次中的孔来区分
- 使用ApprovPolyDP使您的轮廓成为大致规则的形状。您可以根据轮廓中的顶点数来区分形状
- 如果ApprovPolyDP不够,请使用矩来区分形状
它适用于大多数情况。始终提供样本图像以帮助我们评估问题的复杂性:D。
检查opencv中的haar级联对象检测技术这里有一些链接。。。。
http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html
http://www.technolabsz.com/2011/08/how-to-do-opencv-haar-training.html
为了与哈尔级联工作,你需要哈尔工具包进行培训。。
http://kineme.net/files/haar.zip
相关文章:
- Tensorflow对象检测在Python和C++(OpenCV)之间有不同的结果
- 如何在OpenCV中检测这是谁的脸?
- 如何在 ORB 检测 OpenCV ++ 中获取校正角度?
- OpenCV代码不会检测人脸的数量,也不会在脸周围放一个圆圈
- 检测 OpenCV C++窗口上的触摸
- 使用opencv的C++图像检测
- 如何以及在何处使用带QT的Basler Cam实现opencv人脸检测代码
- 在不使用经过训练的模型的情况下检测/分割面部和面部特征:openCV C++
- Opencv cascade.detectMultiScale 不检测眼睛
- 无法使用 OpenCV 3.1.0 检测 ArUco 标记
- 如何将此项目更改为 OpenCV 实时人脸检测应用程序?
- 检测 OpenCV 中"average"的颜色范围
- 检测OpenCV C (移动相机)上的运动
- 如何使用 SVMLIGHT 模型文件通过 C++ 检测 OpenCV 中的对象
- 内存分配错误/圆检测/openCV / C ++
- 我需要修改 Sobel 内核以进行对角线边缘检测.OpenCV和C++
- 检测opencv中的黄色
- 人脸检测OpenCV + Qt + cvMat
- 边缘检测opencv android
- 卡边缘检测OpenCV