如果我有一张盒子的图像,其中有一些颜色,是否有一个图像处理库可以帮我把它变成一个数组?
由于
答案 0 :(得分:0)
您可以使用阈值处理功能将图像二值化为深色/浅色像素,因此暗像素为0,亮像素为1。
然后你会想要使用扩张和侵蚀功能去除图像瑕疵来消除噪音(所有这些都在维基百科上有明确定义)。
最后,如果您知道这些方块的位置,您可以在每个方框的中心获取值以确定数组值,或者可以使用中心附近的区域并采用主导值(即更多0是填充的在正方形,更多1是空方格。
如果您正在扫描这些盒子并且盒子的位置有很多变化,则必须使用已知点或基准点执行某种程度的图像配准。
至于用于执行此操作的工具,我建议首先使用ImageJ之类的工具手动尝试此操作,该工具具有UI,并且也可以以编程方式使用,因为它全部用Java编写。
其他好的库包括OpenCV和Java Advanced Imaging API。
您的结果肯定会因输入图像以及它们的亮度和位置而有所不同。
了解它对数据的作用的最佳方法是尝试手动应用这些处理步骤,以查看阈值的位置,获得一致结果所需的扩张/侵蚀量。