gpt4 book ai didi

c++ - 如何找到图像的非方形 ROI?

转载 作者:太空宇宙 更新时间:2023-11-03 22:13:38 26 4
gpt4 key购买 nike

我正在寻找一种方法来找到感兴趣的非正方形区域。我在这里看到了所有基于矩形的示例。例如here they find the tilted rectangle .我看过像 this SO page 这样的代码示例当您将鼠标从一个角落拖到另一个角落时,他们会在其中绘制一个矩形。

我的目标是拍摄如下图所示的图像并用手勾勒出道路轮廓。这是可能的还是我只需要在它上面画一个矩形?

编辑:我最初的想法是建立在其中一种算法的基础上,而不是将鼠标点击标记为角,我认为我可以将访问的每个点存储在一个 vector 中。然后我可以只使用 cv::Mat 来填充两者之间的所有点。不确定它是否会起作用,但这是一个开始。

Long Windy Road

最佳答案

漂亮的图片顺便说一句。所以一般使用盒子,因为它们很简单。但是正如您正确指出的那样,它们对于道路和天空等无定形的“东西”并不是很好。您有几个选择。

  1. 创建一个与原图大小相同的蒙版图像。图像,对于图像中作为“道路”的每个像素,在蒙版中将其设置为 1,否则为 0,这类似于在图像中“着色”,就像 child 在涂色书中所做的那样。

  2. 使用大致描绘道路边界的多边形。多边形中的点越多,分割越准确。

我通常在 GIMP 中做这种事情,然后将蒙版加载到 OpenCV 中。对于完整的 OpenCV imp,我怀疑您可能需要深入研究支持的 QT 或 OpenGL 来制作一个小的图像编辑工具。

我在这里找到了一个 QT 链接 http://qt-project.org/doc/qt-4.8/opengl-2dpainting.html

但请注意,我自己并没有尝试实现这样的事情,我的回答只是让您了解两种尝试的可能性。

关于c++ - 如何找到图像的非方形 ROI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24619801/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com