Я пытаюсь определить, проходит ли линия через изображение или не использует обнаружение линии преобразования С# и AForge. В том же контексте я думаю о лучшем решении, которое определяет, является ли изображение четким (без линий), а затем возвращает ложное значение и наоборот. У меня есть следующее изображение, и я хочу проверить, проходит ли через него линия, я верну true, иначе верну false:
http://s10.postimg.org/3sn8wari1/image.png
Я использовал следующий код, чтобы получить количество строк, но кажется, что он не точен или я плохо использую алгоритм.
AForge.Imaging.Image.FormatImage(ref SEChild);
// lock the source image
BitmapData sourceData = SEChild.LockBits(
new System.Drawing.Rectangle(0, 0, SEChild.Width, SEChild.Height),
ImageLockMode.ReadOnly, SEChild.PixelFormat);
// binarize the image
UnmanagedImage binarySource = filter.Apply(new UnmanagedImage(sourceData));
HoughLineTransformation lineTransform = new HoughLineTransformation();
lineTransform. = 10;
// apply Hough line transofrm
lineTransform.ProcessImage(binarySource);
HoughLine[] lines = lineTransform.GetLinesByRelativeIntensity(0.5);
if (lines.Count() > 0)
{
Result += "NW: Yes!\n";
}
else
{
Result += "NW: No!\n";
}