有人能让我从下面的想法开始吗?
我想把图像加载到Java(JavaSwing)应用程序(平面图或蓝图)中。 假设平面图有一个白色背景,上面有三个形状(矩形、三角形和圆形)。这些形状有一个黑色的边框。
程序应该检测这些形状并在其上绘制3个形状。
例如:它检测到矩形,并将在图像中该矩形的顶部绘制一个新矩形。 当绘制额外的矩形时,用户应该能够修改该矩形并对其执行其他操作,如填充矩形、更改边框样式…
例如:在这种情况下,角上的小点或正方形应该是可见的,这样我们就可以拖动/调整/移动矩形。有点像这张来自visual studio的截图: http://farm1.static.flickr.com/49/132219212_061a1300af_o.png
有人有这方面的教程吗?我错过了一些非常有用的Java算法吗?等。。。?欢迎所有建议或帮助
TNX提前
好吧,一种强力的方法是遍历图像中的像素,查看bufferedimage的api,并通过特定颜色的连续像素检测形状。不过,我相信有一种更有效的方法可以做到这一点。
正确检测扫描图像中可能出现各种问题(颜色、dpi、旋转、剪切)的形状。即使是未扫描的图片也可能非常困难。你可能想调查一下 OpenCV 在里面 Java .