Соколов Сергей Викторович
E-mail: [email protected].
Д.т.н.; профессор.
Ковалев Сергей Михайлович E-mail: [email protected].
Д.т.н.; профессор.
Alles Mikhail Aleksandrovich
Rostov State Transport University.
E-mail: [email protected].
2, Rostovskogo Strelkovogo Polka Narodnogo Opolchenia Sq, Rostov-on-Don, 344038, Russia. Phone: +78632726302.
Postgraduate Student.
Sokolov Sergey Viktorovich
E-mail: [email protected].
Dr. of Eng. Sc.; Professor.
Kovalev Sergey Mikhailovich
E-mail: [email protected].
Dr. of Eng. Sc.; Professor.
УДК 681.3.06: 681.323 (519.6)
М.Ю. Гуревич
РАСПОЗНАВАНИЕ МУЛЬТНКОНТУРНЫХ ИЗОБРАЖЕНИЙ НА ОСНОВЕ СОРТИРОВКИ
Приводится поставка задачи распознавания мультиконтурных изображений, описана схема распознавания изображений на основе сортировки. Метод обладает параллелизмом в силу максимальной параллельности сортировки.
Распознавание конструируется как идентификация с помощью сортировки экстремальных элементов числовой последовательности, сопоставленной просматриваемым изображениям или их фрагментам.
Контур; распознавание информации; графические изображения.
M.Yu. Gurevich
RECOGNITION OF MULTICONTOURS IMAGES ON THE BASIS OF SORTING
The article gives a delivery problem recognition multicontour imagetions, the scheme of image recognition based on sorting.
The method possesses parallelism by virtue of the maximal parallelism of sorting. Recognition is designed as identification by means of sorting extreme elements of the numerical sequence compared looked through images or their fragments.
Contour; detection of information; graphics.
.
часто встречается необходимость распознать фигуры, состоящие из нескольких контуров, вложенных или пересекающих друг друга. В частности, сюда включается важная задача криминалистики - распознавание отпечатков пальцев.
.
области предлагается использовать модифицированный способ вертикального сечения [1. С. 55].
При этом вертикальный и горизонтальный шаги считывания определяются в зависимости от размеров изображения, однако в отличие от исходного варианта шаги по вертикали и по горизонтали могут различаться, оставаясь пропорциональными максимальному размеру изображения по вертикали и по горизонтали.
Второе вносимое изменение заключается в том, что на каждом шаге фиксированного направления считывания, например по вертикали, отмечаются не только точки пересечения с контуром, но и с тем же фиксированным шагом отмечают, . со поставляются единичные значения, точкам, не принадлежащим контуру, - нуле.
Данный подход обеспечивает инвариантность метода распознавания относительно таких стандартных преобразований графического изображения, как растя-( ) , -
( ).
, 0, 1. -
тате обработки изображения формируется одномерный массив двоичных чисел
n 2, n - .
Массив состоит из нулей (точек фона) и единиц (точек пересечения вертикалей
). -
. , концы цепочек одинаковых элементов. Вид таких цепочек, равно как и последова-, , -вует виду изображения, - с точностью до различий внутри равномерной прямо,
.
элемента одномерного массива координаты данной точки на изображении.
В конструируемой схеме распознавания изображений вложенных контуров непосредственно используется следующий программный фрагмент выделения двоичных цепочек в массиве двоичных чисел (Basic).
CLS: n = 1024
DIM a(n),a1(n), c(n),c1(n), e(n),e1(n),r0(n),r1(n),r00(n),r11(n)
input"HMfl файла без расширения";^$: nf1$=nf$+".int"
open nf1$ for input as #1
for x = 1 to n : input#1,a(x): next x
input#1,razmx,razmy: close#1
FOR l = 1 TO n: e(l) = l: NEXT l
PRINT : PRINT: k = 0
FOR j = 1 TO n: FOR i = 1 TO j: IF a(j) - a(i) < 0 THEN 5 k=k+1 5 next i
for i =j+1 to n: IF a(i) - a(j) >= 0 THEN 55 k = k + 1 55 NEXT i
c(k) = a(j): e(k) = j: k = 0: NEXT j
FOR k = 1 TO n: FOR l = 1 TO k-1: IF abs(e(k-l)-e(k))=1 then 205 NEXT l: print c(k);" ";e(k) ,:if c(k)=0 then r=r+1: r0(r)=e(k)
205 next k : rr0=r: r=0: PRINT : PRINT
FOR k = n TO 1 STEP -1: FOR l = 1 TO N-k: IF ABS (e(k+l)-e(k)) = 1 THEN 206 NEXT l: print c(k);" ";e(k) ,:if c(k)=1 then r=r+1:r1(r)=e(k)
206 next k :rr1=r:r=0
FOR i = 1 TO n: a1(i)=a(n-i+1): NEXT i: FOR l = 1 TO n: e1(l) = n-l+1: NEXT l PRINT : PRINT: for l=1 to n : PRINT a1(l) ;" "; : next l : PRINT : PRINT for l=1 to n : PRINT e1(l) ;" "; : next l : PRINT : PRINT k = 0
FOR j = 1 TO n: FOR i = 1 TO j: IF a1(j) - a1(i) < 0 THEN 15 k=k+1 15 next i
for i =j+1 to n: IF a1(i) - a1(j) >= 0 THEN 155 k = k + 1 155 NEXT i
c1(k) = a1(j): e1(k) = j: k = 0: NEXT j
FOR k = 1 TO n: FOR l = 1 TO k-1: IF abs (e1(k-l)-e1(k)) = 1 then 1205 NEXT l: print c1(k);" ";n-e1(k)+1 ,:if c1(k)=0 then r=r+1: r00(r)=(n-e1(k)+1)
1205 next k: rr00=r: r=0: PRINT : PRINT
FOR k = n TO 1 STEP -1: FOR l = 1 TO N-k: IF ABS (e1(k+l)-e1(k)) = 1 THEN 1206 NEXT l: print c1(k);" ";n-e1(k)+1 , :if c1(k)=1 then r=r+1: r11(r)=n-e1(k)+1
1206 next k: rr11=r: r=0: PRINT : PRINT
for l=1 to n :if r0(l)<>0 then PRINT "(";r0(l);r11(l);")"; ;" "; : next l: PRINT : PRINT for l=1 to n : if r1(l)<>0 then PRINT "(";r00(l);r1(l);")"; ;" "; : next l : PRINT : PRINT Пример 1.
AY
Puc. 1. Архимедова спираль со стандартной ориентацией
В данном примере программа выдает следующие результаты:
0 104 0 1007 0 980 0 970 0 951 0 936 0 920 0 902
0 890 0 869 0 859 0 846 0 836 0 828 0 820 0 811
0 803 0 796 0 789 0 777 0 770 0 765 0 759 0 744
0 738 0 728 0 711 0 705 0 702 0 696 0 686 0 678
0 673 0 665 0 659 0 652 0 646 0 639 0 633 0 628
0 416 0 414 0 408 0 395 0 389 0 384 0 381 0 375
0 364 0 358 0 352 0 348 0 341 0 333 0 326 0 316
0 306 0 303 0 295 0 289 0 283 0 263 0 250 0 233
0 226 0 216 0 202 0 195 0 182 0 172 0 163 0 143
0 132 0 101 0 71 0 41 0 11
Этот листинг означает начальные значения индексов нулевых цепочек при отсчете справа налево.
1 12 2 4 2 7 1 102 1 133 1 144 1 164 1 173
1 183 1 196 1 203 1 217 1 227 1 234 1 251 1 264
1 284 1 290 1 296 1 304 1 307 1 317 1 327 1 334
1 342 1 349 1 353 1 359 1 365 1 376 1 382 1 385
1 390 1 396 1 409 1 415 1 417 1 422 1 427 1 441
1 647 1 653 1 660 1 666 1 674 1 679 1 687 1 697
1 703 1 706 1 712 1 729 1 739 1 745 1 760 1 766
1 771 1 778 1 790 1 797 1 804 1 812 1 821 1 829
1 837 1 847 1 860 1 870 1 891 1 903 1 921 1 937
1 952 1 971 1 981 1 1008 0 1
Эта часть результатов содержит начальные значения индексов единичных цепочек при отсчете слева направо. Последняя пара значений специфична для схемы нахождения экстремумов, понимаемых в смысле условия локализации и ее не следует принимать во внимание.
(1 12) (13 42) (43 72) (73 102) (104 133) (134 144) (150 164) (165 173) (174 183)(185 196) (197 203) (204 217) (219 227) (228 234) (235 251) (252 264)
(266 284) (285 290) (291 296) (297 304) (306 307) (309 317) (318 327) (328 334)
(335 342) (344 349) (351 353) (354 359) (360 365) (366 376) (377 382) (383 385)
(386 390) (391 396) (397 409) (410 415) (416 417) (418 422) (423 427) (428 441)
.(642 647) (648 653) (654 660) (661 666) (667 674) (675 679) (680 687) (691 697)
(698 703) (704 706) (707 712) (713 729) (730 739) (740 745) (746 760) (761 766)
(767 771) (772 778) (780 790) (792 797) (798 804) (805 812) (813 821) (822 829)
(830 837) (838 847) (851 860) (861 870) (871 891) (892 903) (905 921) (923 937)
(938 952) (953 971) (973 981) (983 1008) (1010 0)
В результатах выше, в каждой паре скобок, содержатся индексы единичных цепочек. Аналогично, ниже распечатаны индексные границы нулевых цепочек.
(1024 1009) (1007 982) (980 972) (970 952) (951 937) (936 922) (920 904) (902 891) (890 870) (869 860) (859 850) (846 837) (836 829) (828 821) (820 812)
(811 804) (803 797) (796 791) (789 779) (777 771) (770 766) (765 760) (759 745)
(744 739) (738 729) (728 712) (711 706) (705 703) (702 697) (696 690) (686 679)
(678 674) (673 666) (665 660) (659 653) (652 647) (646 641) (639 634) (633 629)
.(421 417) (416 415) (414 409) (408 396) (395 390) (389 385) (384 382) (381 376)
(375 365) (364 359) (358 353) (352 350) (348 343) (341 334) (333 327) (326 317)
(316 308) (306 305) (303 296) (295 290) (289 284) (283 265) (263 251) (250 234)
(233 227) (226 218) (216 203) (202 196) (195 184) (182 173) (172 164) (163 149)
(143 133) (132 103) (101 72) (71 42) (41 12)
Пример 2
±ї
Рис. 2. .
0 1024 0 980 0 970 0 951 0 936 0 920 0 902 0 890
0 869 0 859 0 846 0 836 0 828 0 820 0 811 0 803
0 796 0 789 0 777 0 770 0 765 0 759 0 744 0 738
0 728 0 711 0 705 0 702 0 696 0 686 0 678 0 673
0 665 0 659 0 652 0 646 0 639 0 633 0 628 0 619
0 414 0 408 0 395 0 389 0 384 0 381 0 375 0 364
0 358 0 352 0 348 0 341 0 333 0 326 0 316 0 306
0 303 0 295 0 289 0 283 0 263 0 250 0 233 0 226
0 216 0 202 0 195 0 182 0 172 0 163 0 143 0 132
0 101 0 71 0 41 0 11
1 12 1 42 1 72 1 102 1 133 1 144 1 164 1 173
1 183 1 196 1 203 1 217 1 227 1 234 1 251 1 264
1 284 1 290 1 296 1 304 1 307 1 317 1 327 1 334
1 342 1 349 1 353 1 359 1 365 1 376 1 382 1 385
1 390 1 396 1 409 1 415 1 417 1 422 1 427 1 441
1 647 1 653 1 660 1 666 1 674 1 679 1 687 1 697
1 703 1 706 1 712 1 729 1 739 1 745 1 760 1 766
1 771 1 778 1 790 1 797 1 804 1 812 1 821 1 829
1 837 1 847 1 860 1 870 1 891 1 903 1 921 1 937
1 952 1 971 1 981 0 1
(1 12) (13 42) (43 72) (73 102) (104 133) (134 (■ 144) (150 164) (165 173) (174 183)
(185 196) (197 203) (204 217) (219 227) (228 234) (235 251) (252 264) (266 284)
(285 290) (291 296) (297 304) (306 307) (309 317) (318 327) (328 334) (335 342)
(344 349) (351 353) (354 359) (360 365) (366 376) (377 382) (383 385) (386 390)
(391 396) (397 409) (410 415) (416 417) (418 422) (423 427) (428 441) (442 447)
(648 653) (654 660) (661 666) (667 674) (675 679) (680 687) (691 697) (698 703)
(704 706) (707 712) (713 729) (730 739) (740 745) (746 760) (761 766) (767 771)
(772 778) (780 790) (792 797) (798 804) (805 812) (813 821) (822 829) (830 837)
(838 847) (851 860) (861 870) (871 891) (892 903) (905 921) (923 937) (938 952)
(953 971) (973 981) (983 0)
(1024 982) (98C 972) (970 952 (951 937) (936 922) (920 904) (902 891) (890 870)
(869 860) (859 850) (846 837) (836 829) (828 821) (820 812) (811 804) (803 797)
(796 791) (789 779) (777 771) (770 766) (765 760) (759 745) (744 739) (738 729)
(728 712) (711 706) (705 703) (702 697) (696 690) (686 679) (678 674) (673 666)
(458 454) (453 449) (448 447) (446 441) (440 427) (426 422) (421 417) (416 415)
(414 409) (408 396) (395 390) (389 385) (384 382) (381 376) (375 365) (364 359)
(358 353) (352 350) (348 343) (341 334) (333 327) (326 317) (316 308) (306 305)
(303 296) (295 290) (289 284) (283 265) (263 251) (250 234) (233 227) (226 218)
(216 203) (202 196) (195 184) (182 173) (172 164) (163 149) (143 133) (132 103)
(101 72) (71 42) (41 12)
Две первых строки из соответствующих распечаток (нулевые цепочки):
(1024 1009) (1007 982) (980 972) (970 952) (951 937) (936 922) (920 904) (1024 982) (980 972) (970 952) (951 937) (936 922) (920 904) (902 891) Подчеркнутая пара чисел в первой строке и ее отсутствие во второй означает удлинение нулевой цепочки (цвет фона) при вырезании указанного на рис. 2 фрагмента, что соответствует действительности.
Из сопоставления выходных данных обоих примеров наглядно выявляется сходство признаков двух рассматриваемых изображений и их различия, соответст-
( ).
, -
ции того же изображения, можно увидеть в работе [1. С. 129].
Заключение. В заключение можно отметить, что предложенный вариант схемы обладает высокой чувствительностью к изменениям изображения и по длинам цепочек выражает геометрические закономерности изображения. Наиболее существенное продвижение по сравнению с предшествующими вариантами схем распознавания заключается в возможности распознавания вложенных изображений произвольной конструкции. При этом сохраняются все ранее предложенные возможности распознавания отдельных контуров по подстановкам и по их экстре.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Гуревич ММ. Алгоритмические схемы распознавания изображений двумерных объектов на основе адресных сортировок. Дис. ... канд. техн. наук. - Таганрог: ТГПИ, 2001.
2. Ромм Я.E., Гуревич ММ., Белоконова С. С., Соловьева И.А. Вычисление нулей и полюсов функций на основе устойчивой адресной сортировки с приложением к поиску и распознаванию // Проблемы программирования. Специальный выпуск. Материалы IV Ме-
- -ПрЪг’2004. 1-3 июня 2004. Украина, Киев.- Киев. - 2004. - № 2-3. - С. 462-472.
Статью рекомендовал к опубликованию д.т.н., профессор Я.Е. Ромм.
Гуревич Михаил Юрьевич
Таганрогский государственный педагогический институт.
E-mail: [email protected].
347936, . , . , 48.
Тел.: +79185233357. '
Кафедра информатики; доцент.
Gurevich Mikhail Yurievich
Taganrog State Pedagogical Institute.
E-mail: [email protected].
48, Iniciativnaya Street, Taganrog, 347936, Russia.
Phone: +79185233357.
The Department of Information Science; Associate Professor.