Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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
Archives
Today
Total
관리 메뉴

:)

영상 데이터 구조와 표현 방법 / 영상 파일 형식과 특징 본문

컴퓨터비전

영상 데이터 구조와 표현 방법 / 영상 파일 형식과 특징

mihee 2022. 3. 14. 11:01
  • 영상(image)란?

    • 픽셀(영상의 기본 단위)이 바둑판 모양의 격자에 나열되어 있는 형태
  • 그레이스케일 영상(grayscale image)

    • 흑백 사진처럼 색상 정보가 없이 오직 밝기 정보로만 구성된 영상
    • 밝기 정보를 256 단계로 표현 [0, 255]
      // c/c++에서 unsigned char로 표현(1byte) 
      typedef unsigned char BYTE; // Windows 
      typedef unsigned char uint8_t; // Linux 
      typedef unsigned char uchar; // OpenCV
  • 트루컬러 영상(truecolor image)

    • 컬러 사진처럼 다양한 색상을 표현할 수 있는 영상
    • RGB 색 성분을 256 단계로 표현, 256^3 색상 표현 가능
      // unsigned char 자료형 3개 있는 배열 또는 구조체(3Bytes) 
      class RGB { 
      unsigned char R;
      unsigned char G;
      unsigned char B; 
      };

    영상 데이터 표현 방법

    • 정적 2차원 배열의 생성
      unsigned char a[480][640] {};
    • unsigned char : 1바이트 사용
    • 2차원 배열 전체 크기만큼의 메모리 공간이 연속적으로 할당됨
    • 단점
    • 배열의 크기를 미리 알고 있어야 함 -> 다양한 크기의 영상을 표현하기에 부적절
    • Stack 영역에 메모리 할당 : 대략 1MB까지 할당 가능
  • 동적 2차원 배열의 생성

    int w = 640; 
    int h = 480; 
    unsigned char** p; 
    p = new unsigned char*[h]; 
    for(int i = 0; i < h; i++) { 
    p[i] = new unsigned char[w] {}; 
    }
  • 행 단위로만 연속된 메모리 공간이 보장됨

  • 프로그램 동작 중 다양한 크기의 영상을 생성할 수 있음

  • Heap 영역에 메모리 할당

  • 동적 2차원 배열의 메모리 해제

    • 동적 2차원 배열 생성의 역순을 해제
    • delete 구문에서 괄호 연산자([])를 반드시 사용

비트맵(bitmap)

  • 비트들의 집합 -> 픽셀의 집합
  • 영상의 전체 크기에 해당하는 픽셀 정보를 그대로 저장
    • 표현이 직관적이고 분석에 용이
    • 메모리 용량을 많이 차지(영상의 확대/축소 시 화질 손상이 심함)
  • 사진, 포토샵

벡터 그래픽스

  • 점과 점을 연결해 수학적 원리로 그림을 그려 표현하는 방식
  • 이미지의 크기를 확대 또는 축소해도 화질이 손상되지 않음
  • 폰트, 일러스트레이터

  • 픽셀 데이터
    • 그레이스케일 비트맵 : RGBQUAD 배열의 인덱스 저장
    • 트루컬러 비트맵 : B,G,R 순서로 픽셀 값 저장
    • 일반적으로 상하가 뒤집힌 상태로 저장됨(bottom-up)
    • 효율적 데이터 관리를 위해 영상의 가로 크기를 4의 배수로 저장

'컴퓨터비전' 카테고리의 다른 글

OpenCV 그리기 함수  (0) 2022.03.18
카메라와 동영상 처리  (0) 2022.03.17
OpenCV 주요 클래스  (0) 2022.03.16
OpenCV 영상 불러와서 출력하기  (0) 2022.03.15
컴퓨터 비전 개요  (0) 2022.03.14
Comments