좌표계와 행렬, C++, 흑백과 칼라 픽셀 표현, 정적 2차원 배열, 동적 2차원 배열(생성, 원소 접근, 메모리 해제), 대용량 1차원 메모리(특정 좌표 픽셀 값 참조), 영상 데이터 저장 클래스
BMP(파일 헤더, 정보 헤더, 색상 테이블, 픽셀 데이터), JPG, GIF, PNG
imread, empty, imwrite, namedWindow, imshow, waitKey, destroyAllWindows, Point, Size, Rect, Range, String, Vec, Scalar, InputArray, OutputArray, Mat
영상에 그리기(선, 도형, 문자열), 이벤트 처리(키보드 입력, 마우스), 트랙바로 영상 출력 창에서 값 조절하기(슬라이더 컨트롤)
픽셀 접근, 깊이, 채널, 타입, 합, 평균, 최솟값/최댓값, 자료형 변환, 정규화, 색 공간 변환, 채널 분리/결합
ROI, 마스크, copyTo(), 마스크를 이용한 사진 합성, 연산 시간 측정
화소 처리(Point Processing), 밝기 조절, 반전, 밝기 조절 구현, 평균 밝기 보정 프로그램
명암비, 간단한 조절, (조금) 효과적인 조절, 평균 밝기를 고려한 조절
히스토그램은 영상의 픽셀값 분포를 그래프의 형태로 표현한 것이다. 밝기를 간단하게 조절할 경우 분포가 좌우로 시프트된다. 명암비를 간단하게 조절할 경우 전체적인 폭이 좁아지거나 넓어진다. 히스토그램을 이용해 영상의 픽셀값 분포를 한눈에 파악할 수 있다.
히스토그램 스트레칭과 히스토그램 평활화(Equalization)을 사용하면 영상의 명암이 좀 더 뚜렷해진다. 사람의 눈으로 보았을 때, 두 기법 중 어느 한쪽이 항상 좋다고 말할 수는 없다. 사람마다, 영상마다 달라질 수 있다.
영상의 산술 연산에는 덧셈, 가중치 합, 평균, 뺄셈, 차이 등이 있으며, 논리 연산에는 and, or, xor, not이 있다.
필터링은 영상에서 필요한 정보만 통과시키고 원치 않는 정보는 걸러내는 작업이다. 공간적 필터링은 커널(마스크)을 사용한다. 공간적 필터링의 종류로는 블러링, 샤프닝, 잡음 제거, 에지 검출 등이 있다. 위 사진은 엠보싱 필터링의 결과이다.
평균값 필터와 가우시안 필터. 커널의 크기가 커질수록, 가우시안 필터의 시그마 값이 커질수록 블러 효과가 강해진다.
언샤프 마스크 필터링(unsharp mask filtering)은 가중치를 이용하여 sharpness를 조절할 수 있다. Gaussian 블러링의 시그마가 높아질수록 더욱 날카로운 영상이 된다.
프로파일을 이용해 영상의 잡음을 분석할 수 있다. 가우시안 필터는 노이즈를 제거하지만 에지 정보 일부도 함께 제거하는 단점이 있다. 기준 픽셀과 이웃 픽셀의 값차이를 고려하는 양방향 필터를 이용해 이를 보완할 수 있지만, 가우시안 필터에 비해 연산 시간이 느리다.
에지는 이미지에서 픽셀값 변화가 급격한 지점이다. 일계도함수에서는 에지 검출에 필요한 local extrema 여럿 존재하므로 적절한 threshold가 필요하며, 에지 위치는 여러 픽셀로 나타날 수 있다. 이계도함수에서는 에지에서 zero-crossing이 발생한다.