Реферат: Алгоритмы выделения контуров

TDirectional Direct; // Направление движения жука

// Идем до тех пор, пока не встретим черную область

for (Y = 0; Y < FromImage->Height; Y++)

{

Line = (Byte*)FromImage->ScanLine[Y];

for (X = 0; X < FromImage->Width; X++)

{

B = Line[X];

if (B < 255)

break;

}

// Если встречен объект, отличающийся от цвета фона (255 - белый)

// прервать поиск

if (X != FromImage->Width)

break;

}

// Если не нашли ни одного черного пиксела, то выходим из процедуры

if ((X == FromImage->Width) && (Y == FromImage->Height))

return;

// Если все нормально, начинаем обход по алгоритму жука

ToLine = (Byte*)ToImage->ScanLine[Y];

ToLine[X] = 0;

// Поворачиваем налево (новое направление - север)

cX = X;

cY = Y - 1;

Direct = North;

Line = (Byte*)FromImage->ScanLine[cY];

// Пока не придем в исходную точку, выделяем контур объекта

while ((cX != X) || (cY != Y))

К-во Просмотров: 632
Бесплатно скачать Реферат: Алгоритмы выделения контуров