1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #include <stdio.h> #define HEIGHT 5 #define WIDTH 10 void print(int array[][WIDTH]); void binarization(int array[][WIDTH]); void reverse(int array[][WIDTH]); int main(void) { int image[HEIGHT][WIDTH]={{0,0,0,0,9,0,0,0,0,0}, {1,0,0,9,9,0,0,0,0,0}, {5,0,9,0,9,0,0,0,0,4}, {4,0,0,0,8,0,0,2,0,0}, {3,0,0,0,9,0,0,0,0,8}}; printf("원본 : \n"); print(image); printf("이진화 : \n"); binarization(image); print(image); printf("반전 : \n"); reverse(image); print(image); return 0; } void print(int array[][WIDTH]) { int i,j; for(i=0;i<HEIGHT;i++) {for(j=0;j<WIDTH;j++) { printf("%3d ", array[i][j]); } printf("\n"); } } void binarization(int array[][WIDTH]) { int *p, *endp; p=&array[0][0]; endp=&array[HEIGHT-1][WIDTH-1]; while(p<=endp) { if(*p>=5) {*p=255;} else if(*p<5) {*p=0;} p++; } } void reverse(int array[][WIDTH]) { int *p, *endp; p=&array[0][0]; endp=&array[HEIGHT-1][WIDTH-1]; while(p<=endp) { if(*p==0) {*p=255;} else if(*p==255) {*p=0;} p++; } } | cs |