我正在寻找一个简单的图像分析的方法,软件或库。
输入的图像将是一个白色的背景,上面有一些随机的小黑点。
我需要生成一个.txt文件来表示这些点的坐标。也就是说,如果图像中有三个点,则输出将是一个文本文件,其中包含三个坐标(x1,y1)、(x2,y2)和(x3,y3)的表示。
我在网上搜索了几个小时,没有找到合适的东西,我找到的只是一些复杂的图像处理程序。
有人告诉我,用MATLAB编写代码很容易,但我对MATLAB并不熟悉。
使用C++、Java或C#可以轻松做到这一点吗?
有什么好的库吗?
发布于 2011-08-28 14:53:27
这在任何语言中都很简单。根据输入的形式,您可能需要遍历所有的输入(假设它是一个简单的矩阵-简单地有两个嵌套循环,一个用于x坐标,一个用于y坐标),每当您遇到一个黑点时,只需输出当前的索引,即该点的x和y坐标。
至于库,除了将输入解码成这样的矩阵形式(例如JPEG解码器)之外,任何其他东西都是多余的。
发布于 2011-08-28 14:53:32
我不认为你需要图像处理库来解决这类问题(如果我错了,有人纠正我),因为这些库可能专注于图像处理,而不是识别。您需要了解所支持的图像格式(如何存储,如何解释,等等)和基本的C文件系统函数。
例如,如果您期望的是JPG文件格式,则只需计算每条扫描线的填充,然后逐条到达每条扫描线,并逐条到达扫描线中的每个像素。您必须使用两个计数器,一个用于行,另一个用于列。如果像素不是白色的,那么您就有了自己的坐标。
发布于 2011-08-28 14:54:07
这对您来说应该很容易做到,而不需要任何外部软件;例如
for(y in [0..height]) {
for(x in [0..width]) {
if(pixels[y][x].color == BLACK)
print("(%d, %d)", x, y);
}
}会起作用的。
https://stackoverflow.com/questions/7219452
复制相似问题