영상 신호와 배열
- 영상신호 : 2차원 좌표 (y, x)에서의 밝기값 → I(y,x)
- 2차원 배열 : img[y][x]
- 첫번째 index가 y 좌표임에 유의
- 영상신호의 저장을 위한 2가지 방법
- 2차원 배열을 이용한 영상 선언
- 2차원 포인터를 이용한 영상 선언
- 2차원 배열을 이용한 영상 선언
- 7x10 크기 영상 (높이/행 = 7, 폭/열 = 10)을 위한 선언
int img[7][10];
-
좌표 (y, x)=(3,4)에 위치한 픽셀값의 변경
img[3][4] = 100;
- 2차원 포인터를 이용한 영상 선언
- 7x10 크기 영상 (높이 = 7, 폭 = 10)을 위한 선언
int** img_ptr = (int**)IntAlloc2(7, 10);
- 좌표 (y, x)=(3,4)에 위치한 픽셀값의 변경
- 2차원 배열을 사용하는 경우와 완전히 동일함
img_ptr[3][4] = 100;
- img_ptr이 더 이상 사용되지 않는 지점에서 메모리를 해제 권장
intfree2(img_ptr, 7, 10);
- 영상의 픽셀값의 범위
- Gray 영상의 경우 : 0 ~ 255
- RGB 칼라 영상 : R, G, B 각각 0 ~255
영상 읽기 & 쓰기
- 영상읽기 & 쓰기 함수
int** ReadImage(char* filename, int* height, int* width)
void WriteImage(char* filename, int** img, int height, int width)
- 활용 사례
int** img = ReadImage(“Barbara.png”, &height, &width);
writeImage(“wr_test.pgn”, img, height, width);
void main()
{
int height, width;
int** img = (int**)ReadImage("barbara.png", &height, &width);
ImageShow("영상보기", img, height, width);
WriteImage("wr_test.png", img, height, width);
}
영상 이진화
- 문턱값 이상은 255, 미만은 0으로 픽셀값을 변환
- 여기서 I는 픽셀값으로서 좌표 (y, x)에서의 밝기값
- 사례
'Theory > Image Processing' 카테고리의 다른 글
06 평균 필터 (22.10.14) (0) | 2023.06.21 |
---|---|
05 히스토그램 평활화 (22.10.07) (0) | 2023.06.21 |
04 스트레칭 (22.09.30) (0) | 2023.06.21 |
03 클리핑 (22.09.23) (0) | 2023.06.21 |
02 영상 혼합 (22.09.16) (0) | 2023.06.21 |
댓글