如何定义复杂的形状?

时间:2012-11-15 00:02:35

标签: java image shape

对于此图片,我正在尝试为每个“区域”定义一个形状。我怎么做到这一点?

Image that is to be divided into shapes

2 个答案:

答案 0 :(得分:1)

我不确定您希望如何实施,但这种通用方法应该有效:

  • 使用边界线分离图像中的区域,因此它们不再相互强硬。 (例如,使用形态侵蚀。)
  • 做一个"连接组件" (CC)对图像的操作以为每个区域的像素(1,2,3,...)生成不同的标签。你可以在网上找到一些代码来做到这一点,但编写你自己的CC功能很容易。
  • 当用户点击某个区域时,将鼠标的X / Y坐标映射到已标记的图像上,以找到该点下的区域标签,并报告标签。

答案 1 :(得分:0)

希望您可以将区域的形状定义为一系列点 - 即(x1,y1),(x2,y2)等,然后您可以使用此处定义的命中测试算法之一:{{3} (那里有几个很好的答案,一般来说你可以调整概念以满足你的需要)。