0
A
回答
0
使用图像直接作为输入,你将不得不颠倒它(白色=线检测)。
我会得到这些结果与HoughLinesP
,如果你扩张的倒影,一旦你得到这样的结果:
与此代码:
int main()
{
cv::Mat color = cv::imread("../inputData/LineDetectionCrosses.png");
cv::Mat gray;
// convert to grayscale
cv::cvtColor(color, gray, CV_BGR2GRAY);
cv::Mat mask = 255-gray;
//cv::dilate(mask, mask, cv::Mat());
// detect HoughLinesP
std::vector<cv::Vec4i> lines;
cv::HoughLinesP(mask, lines, 1, CV_PI/2880, 50, 300, 10);
for(size_t i = 0; i < lines.size(); i++)
{
cv::Vec4i l = lines[i];
cv::line(color, cv::Point(l[0], l[1]), cv::Point(l[2], l[3]), cv::Scalar(0,0,255), 3, CV_AA);
}
// display results
cv::imshow("mask",mask);
cv::imshow("output", color);
cv::waitKey(0);
}
但是如果它是我的项目,我可能会尝试首先检测这些圆圈,并找到/提取具有已知中心点的行!
相关问题
- 1. 使用OpenCV检测二进制图像的分叉和端点
- 2. 使用OpenCV进行图像检测
- 3. Opencv二进制项目检测
- 4. 使用OpenCV进行水平线检测
- 5. 使用OpenCV进行线条检测
- 6. 用于C++图像分析的OpenCV二进制图像蒙版
- 7. 如何使用Python/Opencv连接二进制图像中的虚线
- 8. 使用openCV去除二进制图像中的噪声
- 9. 使用OpenCV进行非正面图像的人脸检测
- 10. 使用OpenCV从二进制图像中分解简单形状
- 11. 使用OpenCV加载numpy数组二进制图像detectMultiScale
- 12. 使用python进行图像边界检测opencv
- 13. 蟒蛇魔法检测图像就像'二进制'
- 14. 线检测的OpenCV
- 15. 检测图像中的特定对象,即使用opencv进行图像分割
- 16. 在OpenCV中将灰度图像转换为二进制图像
- 17. OpenCV - 二进制图像中所有非零像素的位置
- 18. opencv将二进制图像的像素值写入文件
- 19. 如何检测二进制图像中的多边形
- 20. OpenCV:在二进制图像中绘制对象的轮廓
- 21. 使用openCV裁剪图像使用Android二进制文件的矩阵
- 22. OpenCV二进制图像只得到白色像素不工作
- 23. 在rgb图像上应用二进制阈值过滤器opencv
- 24. 使用OpenCV检测图像上人物的长方形肖像
- 25. 使用jquery加载二进制图像
- 26. 使用OpenCV激光线检测
- 27. OpenCV - 获取视频帧内检测到的图像的法线
- 28. OpenCV的线/尺检测
- 29. OpenCV:枚举二进制图像中的形状?
- 30. 如何删除opencv中的二进制图像噪声?
您应该先找到轮廓。 – 2014-10-07 14:29:13