是否可以拍摄线条图并分析黑线与白色背景,并使用图像分析创建线条的最佳拟合函数?如果是这样,开始寻找的正确方向是什么?
答案 0 :(得分:2)
因此,根据您的评论,您似乎只需要获得代表黑线的点列表。这很简单,所以这个例子只是抓住黑色像素并保存它们的{x,y}坐标。如果您需要更复杂的东西,可以在此基础上添加它。
using System.Drawing;
...
List<Point> GetBlackPixels( Bitmap bmp )
{
var points = new List<Point>();
for( int y = 0; y < bmp.Height; ++y )
{
for( int x = 0; x < bmp.Width; ++x )
{
if( bmp.GetPixel( x, y ) == Color.Black )
{
points.Add( new Point( x, y );
}
}
}
}
请注意GetPixel
相对较慢。这并不意味着它不适合你的用例,它只是意味着,在大型图像上,你可能需要更快的东西。如果是这样,请在Bitmap
上调用LockBits并直接指向内存。
请记住,在走这条路线之前先使用更简单的版本(我发布的内容)。 GDI +可能对你没问题。
此外,此代码完全符合您的要求。它只会保存真正的黑色点。如果您的问题中没有描述更复杂的情况,则可能需要或可能不需要添加更多代码。
答案 1 :(得分:0)
在被认为是黑色的点(即比给定阈值更暗)上运行linear regression。这种方法可以容忍图像压缩伪像。