2012-03-01 93 views
1

如果我有一张盒子的图像,有一些彩色的,有没有一个图像处理库,可以帮助我把它变成一个数组?Java图像库 - 将网格图像转换为数组

感谢

+0

另请参阅http://stackoverflow.com/questions/2062618/java-framework-for-image-pattern-recognition – DNA 2012-03-01 23:02:12

回答

0

可以使用阈值函数二值化图像转换成暗/亮像素,暗像素是0,轻的是:1。

那么你会想用扩张来消除的图像失真和侵蚀功能去除噪音(所有这些在维基百科都有明确定义)。

最后,如果你知道盒子的位置,你可以在每个盒子的中心获取数值来确定数组值,或者可能使用中心附近的区域并采用当前值(即,更多0是填满广场,更多1是和空方)。

如果您正在扫描这些盒子,并且盒子位置有很多变化,则必须使用已知点或基准点执行某种级别的图像配准。

至于使用什么工具来做到这一点,我建议先使用像ImageJ这样的工具手动尝试这个工具,它具有一个UI,并且由于它全部用Java编写,所以也可以用编程方式使用。

其他优秀的库包括OpenCV和Java Advanced Imaging API。

您的结果肯定会因输入图像以及一致点亮和定位而有所不同。

查看数据如何处理数据的最好方法是尝试手动应用这些处理步骤,以查看阈值应该在多大,需要多大的膨胀/腐蚀来获得一致的结果。