假设有一个纯白的矩形位图,大小为1024x768像素。在位图上绘制了一些(不重叠的)精灵:圆形、正方形和三角形。
是否存在一种算法(可能是C++实现),可以根据位图和背景颜色(例如上面的白色),生成一个包含每个精灵最小边界矩形的列表?
以下是一些示例:左侧是我的代码提供的样本位图(以及“背景”为白色的信息)。右侧是相同图像以及四个形状的边界矩形(红色);我正在寻找的算法计算这些矩形的几何形状。 一些绘画程序具有类似的选择形状功能:它们甚至可以计算看似任意的边界多边形。您不需要手动拖动选择矩形,只需单击“背景”(背景和非背景由某个阈值确定),然后该工具会自动计算绘制到背景上的对象的形状。我需要类似的功能,不过如果我只有对象的矩形边界区域也完全没问题。
我了解到OpenCV;它似乎很相关(它似乎是一个包括我能想到的每种图形算法 - 以及其他一些东西的库),但在大量的信息中我找不到我所考虑的算法。如果OpenCV不能做到这一点,我会感到惊讶,但是我担心您必须拥有博士学位才能使用它。 :-)
是否存在一种算法(可能是C++实现),可以根据位图和背景颜色(例如上面的白色),生成一个包含每个精灵最小边界矩形的列表?
以下是一些示例:左侧是我的代码提供的样本位图(以及“背景”为白色的信息)。右侧是相同图像以及四个形状的边界矩形(红色);我正在寻找的算法计算这些矩形的几何形状。 一些绘画程序具有类似的选择形状功能:它们甚至可以计算看似任意的边界多边形。您不需要手动拖动选择矩形,只需单击“背景”(背景和非背景由某个阈值确定),然后该工具会自动计算绘制到背景上的对象的形状。我需要类似的功能,不过如果我只有对象的矩形边界区域也完全没问题。
我了解到OpenCV;它似乎很相关(它似乎是一个包括我能想到的每种图形算法 - 以及其他一些东西的库),但在大量的信息中我找不到我所考虑的算法。如果OpenCV不能做到这一点,我会感到惊讶,但是我担心您必须拥有博士学位才能使用它。 :-)