移动圆检测
Moving circle detection
我正在尝试使用OpenCV/C++检测移动的圆圈。我的代码:
m_capture >> imageRGB;
cv::cvtColor(imageRGB, imgageGray, cv::COLOR_RGB2GRAY);
cv::Scalar mu;
cv::Scalar sigma;
cv::meanStdDev(imgageGray, mu, sigma);
cv::Mat imageCanny;
cv::Canny(imgageGray,
imageCanny,
mu.val[0] + sigma.val[0],
mu.val[0] - sigma.val[0]);
std::vector<std::vector<cv::Point> > contours;
std::vector<cv::Vec4i> hierarchy;
cv::findContours(imageCanny, contours, hierarchy,CV_RETR_TREE, CV_CHAIN_APPROX_NONE);
在此之后,我正在检查是否有任何圆圈,并且是正确的圆圈。如果圆不移动或移动缓慢,没关系。https://i.stack.imgur.com/TM4sf.jpg
但是,如果圆圈移动得更快,它就变得无法检测到了。https://i.stack.imgur.com/1axJn.jpg
那么,有人可以给我建议如何以更好的方式检测移动的圆圈吗?上级:我的相机是罗技c920。
您可以在找到精灵之前使用双边过滤器,这可能会略微提高检测性能,因为它有助于保持边缘更清晰。
http://docs.opencv.org/modules/imgproc/doc/filtering.html#void%20bilateralFilter%28InputArray%20src,%20OutputArray%20dst,%20int%20d,%20double%20sigmaColor,%20double%20sigmaSpace,%20int%20borderType%29
相关文章:
- 将对象移动到std::shared_ptr
- 何时在引用或唯一指针上使用移动语义
- 使用CMake检测支持的C++标准
- 基于人脸检测坐标的GTK+移动窗口
- GLFW 不会检测到 GLFW 窗口外的鼠标移动
- 如何检测班级是否具有移动构造函数
- 如何检测鼠标何时在窗口外移动
- 检测窗口何时停止移动
- 检测OpenCV C (移动相机)上的运动
- 在不断变化的光线条件下检测多个移动物体
- 我试图使用这种方法来检测移动物体.有人可以为此建议我吗?
- 移动圆检测
- 制作贪吃蛇游戏。检测到移动后,我无法更改屏幕。C++
- 如果检测到鼠标移动,请在 MFC C++对话框窗口中显示光标
- 如何使移动检测到的手和指尖像鼠标一样与Qt GUI交互
- 使用OpenCV/C++中的KalmanFilter跟踪多个移动对象-如何为检测到的对象单独指定轨迹
- 有可能在OpenCV中检测移动的物体吗?
- 如何在Visual c++ 9中使用类型特征检测按位移动类型?
- 使用opencv仅检测缓慢移动的物体
- 使用OpenCV工具从连续的图像差异中检测国际象棋的移动