Java 2D绘制和编辑图像上的对象并从图像中检测形状

Java 2D drawing and editing objects on an image and detecting shapes from images

有人可以让我开始以下想法:

我想将图像加载到我的java(java swing)应用程序(平面图或蓝图)中。
假设平面图有白色背景,上面有3个形状(矩形,三角形和圆形)。形状有黑色边框。

程序应检测这些形状并在其上绘制3个形状。

例如:它检测矩形,并在图像的顶部绘制一个新的矩形。
当绘制额外的矩形时,用户应该能够修改该矩形并使用它来做更多的事情,比如填充矩形,更改边框样式,......

例如:在这种情况下,角上的小点或正方形应该是可见的,以便我们可以拖动/调整大小/移动矩形。有点像visual studio的截图:http://farm1.static.flickr.com/49/132219212_061a1300af_o.png

有人有这方面的教程吗?我错过了一些非常有用的java算法吗?等等...?欢迎提出所有建议或帮助

Tnx提前


正确检测扫描图像中可能遭受各种问题(颜色,dpi,旋转,剪切)的形状。 即使是非扫描图片也可能非常困难。 您可能希望了解如何在Java中使用OpenCV。


嗯,这样做的一种强力方法是遍历图像中的像素,参见BuppiImage的api,并通过某种颜色的连续像素检测形状。 我确信有一种更有效的方法可以做到这一点。