【问题标题】:Detect corner points on text with Opencv使用 Opencv 检测文本上的角点
【发布时间】:2012-11-16 07:10:57
【问题描述】:

我需要关于 opencv 图像处理的帮助,我有一种梯形图要处理,所以我需要扭曲透视,这很容易做到,但我需要在这张图像上提取源点。 注意,图像只有一个文本,在这个例子中我画了红线来显示我需要得到的东西。我需要检测角点(示例中标有蓝点)。

有什么帮助吗?

【问题讨论】:

    标签: c++ opencv image-processing


    【解决方案1】:

    执行the bounding box technique可以隔离图片内部的文字,角点会被vertices变量存储:

    cv::Point2f vertices[4];
    box.points(vertices);
    

    您将能够通过访问它们的 X、Y 坐标来操作它们:

    std::cout << "Point 1: " << vertices[0].x << "," << vertices[0].y << std::endl;
    std::cout << "Point 2: " << vertices[1].x << "," << vertices[1].y << std::endl;
    std::cout << "Point 3: " << vertices[2].x << "," << vertices[2].y << std::endl;
    std::cout << "Point 4: " << vertices[3].x << "," << vertices[3].y << std::endl;
    

    我分享的链接提供了该技术的完整实现。 这就是你要找的机器人!

    【讨论】:

    • 好的,感谢您的快速回复,但我正在尝试运行此示例,并且我认为角度(我知道它以弧度为单位)计算有误,我的图像显示负值时我使用与博客示例类似的角度。所以我下载了作者“inverted.jpg”使用的相同图像,结果不同。
    • 您可以完全放弃博文中的角度信息,因为它与您的问题无关。
    • 好的,我知道,但是使用代码检测到的角点是图像边框的角而不是边界框的角
    • 我不知道该告诉你什么,I've used that code before 很多次,它总是完美无瑕。
    • 在您的示例中,您使用 cvtColor,博客作者使用阈值和腐蚀,因此,在此更改之后效果很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    相关资源
    最近更新 更多