ZX Review #7-8-9-10
08 ноября 1997

Forum - An algorithm for recognizing characters.

<b>Forum</b> - An algorithm for recognizing characters.
(C) Group 'Light', Serpukhov


     Recognition algorithm

            Character


   In recent years, increasingly
there is a problem of recognition
text by computer. Not
hide the complexity of the problem does not allow 100% to 
realize it, even on powerful computers, not to mention the 
ZX-Speccy. However, the problem itself is

so interesting, that does not reach it is not necessary.

   As an example, analyze
algorithm to recognize pre-
well-known characters, composed of
'*' symbol.

   For convenience, imagine that
the whole field consists of the points. Thus,
Let the rectangular box the size of X rows and Y columns of 
characters '*' shows the letters P, T, O, C, G. The letters are 
arbitrary size, form letters rectangular, thick line - 1 
character. Let's also say that the letters have

only the direct orientation (the slopes of letters are 
excluded). Letters between is not in contact, and the minimum 
width and height of the letters - three characters.



   Thus, a sheet with the data
letters will be as follows:



   ...........................

   .*****..***.****.****.***..

   ...*....*.*.*....*..*.*....

   ...*....*.*.*....*..*.*....

   ........*.*.*....****......

   ............****...........

   ...........................


             Fig. 1


   This sheet shows the letters: T, N, C, D, G.


   As we can see each letter
is a rectangle. Most logical to do so,
program to recognize
first thought the picture made up of characters, 
two-dimensional array, and then broke character recognition. Ie 
the letter 'C' in Fig. 1, written in the array as follows

as follows:



              1111

              1000

              1000

              1000

              1111



   We now turn to the algorithm
character recognition. Consider the corner points of each 
letter. 

1. Upper left corner:


   . .

  .** - .** M - n, c, o, r

   . *

2. Top right corner:


   . .

  **. - M, c, d **. - N, o

   . *

3. Lower left corner:


   *

  .** - With about .*. - M, n, n

   . .


   That is, if the upper left corner
letter is in the form


              .

             .**

              .


   this means that the figure
represented by the letter "T".


   The detailed disassembly shows
that analysis of these three angles is sufficient to detect any
In the above letter. In
array angle can be defined as follows:



            S [Y-1, X]

   S [Y, X-1] S [Y, X] S [Y, X +1]

            S [Y +1, X]


S [Y, X] - the central symbol of the angle


   This shows that it is necessary
find the angles drawn letters.
To begin with we find the upper-left
angle. It is characterized by
that it satisfies simultaneously three equations:

S [Y, X] = 1, S [Y, X-1] = 0, S [Y-1, X] = 0


   At this stage, is already uniquely identified by the letter 
'T'. In this case, search for other angles

letters are no longer produced. In
Otherwise, we observed one of the letters: P, C, D, F, and we 
must continue to analyze further. Right corner we find, if

will move to found
line to the right until
instead of '1 'will not meet '0'. Lower left corner you can 
find a symmetric way. Must only to draw attention to the fact

that the lower left corner for the letter
'T' - it was her leg.


   Algorithm presented here
recognition can be
as follows:



                    "Identified by the symbol"

                                v


                         identification of "P S O G"

             "T" 




Other articles:

TR-DOS for beginners - The end.

Computer novella - Prince of Persia.

Computer novella - Laser team (the game Laser Squad).

Crossing Dragon - Game Rapscallion.

Crossing Dragon - Playing The Runes of Zendos.

Crossing Dragon - Playing The Saga.

Crossing Dragon - Game Witch's Cauldron.

Crossing Dragon - Create Adventyuru. Review of the editors.

Crossing Dragon - Create a dictionary to Adventyurnoy game.

Program, which we choose - The possible consequences of using undocumented commands.

Program, which we choose - About noticed irregularities in some programs and suggestions for future versions.

Program, which we choose - A proposal to all the authors of software, printers, memory dump. Programmers protect discs from being copied.

Program, which we choose - A few suggestions to improve the assembly.

Program, which we choose - Suggestions for refining ZX Word v2.5.

Program, which we choose - The "Spectrum emulator" v1.2.

Program, which we choose - What could want in a perfect assembly.

Retro - 40 best procedures: Copying data in memory.

Retro - 40 best procedures: Exchange token.

Retro - 40 best procedures: Determination addresses BASIC string.

Retro - 40 best procedures: Determination of the length of BASIC programs.

Retro - 40 best procedures: Determination of the amount of free memory.

Retro - 40 best procedures for: Search and replace strings.

Retro - 40 best procedure: Find the string.

Retro - 40 best procedures: Search for the string.

Retro - 40 best procedures: the list of variables.

Retro - 40 best procedures: an increase and up the screen.

Retro - 40 best treatments: Removal of REM-strings.

Retro - 40 best procedures: Remove the block of the program.

Expert Tips - Game Fredloader.

Expert Tips - Game Robin of Sherwood: The Touchstones of Rhianon.

Expert Tips - Game Scorpions: Die Machines.

Expert Tips - Game Terropods.

page iS-DOS - Description of system restarts IS DOS.

Forum - An algorithm for recognizing characters.

Forum - Time undocumented command processor Z80.

Forum - The concept of a high-color screen resolution.

Forum - A few Pokes to a game. Program Hacman96.

Forum - As for the new DOS and BIOS settings for the Spectrum.

Forum - Multicolor program on any computer model. Using the 2 nd screen Multicolor'a. Demonstration of the text. Electronic journals.

Forum - Project ZX Config.

Forum - Improve Art Studio. Ideas on file compression.

Forum - ZX Spectrum emulator for IBM. About the hexadecimal system. Program ZX-Stars. Oddities in the Elita

Forum - The effects on the curb and Multicolor.

reader-reader - ZX Spectrum 128 - new opportunities, new challenges.

reader-reader - With 'Light'. Spectrum and expert system.

reader-reader - The printer driver for the Scorpion.

reader-reader - Print numbers in different number systems.

reader-reader - Programming arcade game with scrolling screen.

reader-reader - The procedure for printing labels assembler XAS to monitor debugger STS 4.3.

Studies - attribute scrolling text. "Gasilka" screen. A simplified version of the procedure, "Curtain". Procedure is enriched with pictures. Procedure display images on the points.

Studies - Graphic effect "color bars".

Studies - Driver screen printing 64 characters per line.

Studies - Set of protective boot.

Studies - Address to the drive mode IM 2. Working with non-standard disc format.

Studies - Print the character, magnified by 8 times. The program "pouring" screen. The procedure for screen-saver on the points. Clear screen in Terminator'e. Search strings in memory. System character set conversion.

Studies - Program - cataloger of disks.

Studies - Program the output values of the amplitude channel music. coprocessor on the curb.

Studies - Program the output image.

Studies - The program plugs sprite.

Studies - Cleanup of the specified window screen.

Studies - The program sort the array in ascending order. The procedure for filling the screen specified attribute. Procedure display pictures. The effect of moving towards the stars. "Shower", coming from the upper left corner of the screen. The procedure of "shedding" pictures on the pixel lines. The program of "pulling" the picture at an angle of 45 degrees. Three procedures "Scroll".

Studies - The printing of numbers.

Studies - The procedure for drawing a character with attributes.

Studies - The procedure for display pictures. Fade-OUT effect (picture goes beyond the edge of the screen). Visual effect "Fountain." Fade-OUT effect, mimicking the TV off. Procedure "Ignition" pictures. The program continuously drawing a picture.

Studies - The procedure for drawing a line.

Studies - The procedure for making optimal symbol table.

Studies - scrolling lines of text in the specified window. Attribute scroller. Diagonal scrolling.

Studies - sprite scroller. Procedure display screen.

Studies - Short procedure indicating the amplitude channel music. coprocessor. Way to subtract a constant from a register pair HL.

Studies - The formula for calculating the day of the week.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:

В этот день...   21 November