Ảnh có thể biểu diễn dưới dạng tín hiệu tương tự hoặc tín hiệu số. Trong biểu diễn số của các ảnh đa mức xám, một ảnh được biểu diễn dưới dạng một ma trận hai chiều. Mỗi phần tử của ma trận biểu diễn cho mức xám hay cường độ của ảnh tại vị trí đó. Mỗi phần tử trong ma trận được gọi là một phần tử ảnh, | image_length nsq image_width printf image length is d image_length break fptr_tmp fopen w gotoxy 70 25 textattr WHITE GREEN 4 BLINK cputs WAIT max float min float 2 true_length int float image_length true_width image_width-NT Allocating memory for Image Transfer Buffer w. w unsigned char malloc NT sizeof char for i 0 i NT i w i char calloc image_width sizeof char Clear Image Transfer Buffer. for i 0 i NT i for j 0 j image_width j w i j unsigned char 0 Algorithm for n1 0 n1 image_length n1 gotoxy 1 8 printf Transferred line -4d to image transfer buffer. n1 Transfer row n1 of the image to the last row of w. for j 0 j image_width j ch unsigned char fgetc fptr w n2 j ch for n2 0 n2 image_width n2 zn2 float for k1 1 k1 N k1 for k2 1 k2 N k2 if k1 k2 continue if n2-k2 0 n2 k2 image_width continue if n2-k1 0 n2 k1 image_width continue sum unsigned int sum unsigned int sum unsigned int sum unsigned int sum unsigned int sum unsigned int sum unsigned int sum unsigned int w N-k1 n2-k2 w N-k2 n2-k1 w N k1 n2-k2 w N-k2 n2 k1 w N-k1 n2 k2 w N k2 n2-k1 w N k1 n2 k2 w N k2 n2 k1 zn2 h N k1 N k2 float sum for k 1 k N k if n2-k 0 n2 k image_width continue sum unsigned int w N-k n2-k sum unsigned int w N k n2-k sum unsigned int w N-k n2 k sum unsigned int w N k n2 k zn2 h k N k N float sum sum unsigned int w N n2-k sum unsigned int w N-k n2 sum unsigned int w N n2 k sum unsigned int w N k n2 zn2 h N N k sum sum unsigned int w N n2 zn2 h N N float sum Excluding boundary values from determining the maximum and minimum. if n1 N2 n1 true_length n2 N2 n2 true_width if zn2 max max zn2 if zn2 min min zn2 Maximum and minimum is determined only for the region extending from NT NT to true_width true_length where true_width image_width-NT and true_length image_length . The reason for this is that the last few lines in the digitized image are usaully not part of the original raster scanned analog image. These last lines are lost in the retrace between frames. .