반응형


인하대학교 전자공학과 전자회로실험2 결과보고서 Atmega 개발 환경 & GPIO


인하대학교 전자공학과 전자회로실험2 결과보고서 USART 통신


인하대학교 전자공학과 전자회로실험2 결과보고서 LCD


인하대학교 전자공학과 전자회로실험2 결과보고서 timer counter


인하대학교 전자공학과 전자회로실험2 결과보고서 interrupt


인하대학교 전자공학과 전자회로실험2 결과보고서 ADC


문의는 댓글이나 방명록에 써주시면 됩니다.

반응형
반응형

디지털 영상은 보통 2차원 배열로 표현된다. 각 배열 원소는 픽셀이라고 불린다. 흑백 영상의 경우, 하나의 픽셀은 보통 0에서 255의 값을 가지며 0은 검정색을, 255는 흰색을 나타낸다. 영상이 unsigned char image[ROWS][COLS]에 저장되어 있다고 가정하고 몇가지의 간단한 영상 처리 연산들을 포인터를 이용하여 구현하여 보자. 영상 처리된 겨로가는 화면에 각 픽셀의 값을 숫자로 표시한다.

(a) : 이진화 : 각 픽셀의 값이 임계값보다 낮으면 0으로 만들고 임계값보다 높으면 255로 만든다. (나는 5이상이면 255,  5미만이면 0으로 하였음)

(b) : 반전 : 영상의 흑백을 반전시킨다.


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




반응형

'컴퓨터 & 프로그래밍 & 전자공학 > C언어' 카테고리의 다른 글

생명 게임(game of life - John H. Conway)  (0) 2017.01.13
2차원 배열 복사  (0) 2017.01.06
학생 성적 평균 구하기  (0) 2017.01.06
내림차순 정렬  (0) 2017.01.06
가장 큰 값  (0) 2017.01.05

+ Recent posts