При распознавании документов с низким качеством печати используется векторный метод распознавания символов. В распознаваемом изображении символа выделяются геометрические примитивы (отрезки, окружности, линии) и сравниваются с векторными шаблонами символов. В результате выбирается тот символ, для которого совокупность всех геометрических примитивов и их расположение больше всего соответствует распознаваемому символу. При растровом распознавании сравнение производится с растровыми шаблонами, хотя также выбирается тот элемент, который наиболее соответствует символу, то бишь, растровое изображение каждого символа последовательно накладывается на растровые шаблоны символов, хранящиеся в памяти системы оптического распознавания.
Будет работать только в Pascal.ABC. Желательно вводите величины от 30-50, так как всё измеряется в пикселях.
Program Zagacha; Uses GraphABC; Var r, a, b: Integer; Begin WriteLn('Введите значение r'); ReadLn(r); WriteLn('Введите значение a'); ReadLn(a); WriteLn('Введите значение b'); ReadLn(b); If ((r + a + b) < 30) Or ((r + a + b) > 200) Then Begin r := 50; a := 100; b := 100; End; DrawCircle(Round(Window.Width / 2), Round(Window.Height / 2), r); DrawRectangle(Round((Window.Width - a) / 2), Round((Window.Height - b) / 2), Round((Window.Width + a) / 2) + 1, Round((Window.Height + b) / 2) + 1); If (a = b) And (a * b = 4 * r * r) Then TextOut(Round(Window.Width / 2 - 50), 10, 'Окружность вписана') Else If (a = b) And (a * b = 2 * r * r) Then TextOut(Round(Window.Width / 2 - 50), 10, 'Окружность описана') Else TextOut(Round(Window.Width / 2 - 50), 10, 'Окружность посторонняя') End.
Объяснение:
как то так.
график сам желтым