[영상처리] Point Operation

손승재·2023년 1월 6일
0

영상처리

목록 보기
1/1

http://www.kocw.net/home/cview.do?cid=0adca710420a5d8d
정리 내용 입니다.

PointOperation 이란 ?

Point Operation
픽셀의 값을 바꾸는 연산 방법
픽셀 단일 처리
이웃에 있는 픽셀을 고려하여 동시에 처리하는 방법을 Pixel Group 처리방식

feature을 찾기 위해서 품질의 밝기나 명암대비, 노이즈를 조정하는 처리가 필요

픽셀의 값을 변경하여 새로운 영상을 만드는 방법

  1. Arithmetic Operation
    산술 연산을 통해 영상처리하는 방식.
    더하고 곱하고 빼고 등등 연산을 통해 새로운 영상을 만들어냄.
  2. Grayscale Transformation
    GrayScale은 영상이 가지는 밝기의 범위
    GrayLevel 픽셀이 가지는 밝기 값을 나타내는 용어

Point Operation 개요

Point Operation 에는 2가지 방법이 존재.
1. 기존 픽셀을 새로운 픽셀로 대체하는 방법. ( in-place transformation )
2. 기존 입력 영상은 그대로 두고 새로운 결과영상에다가 저장하는 방법
두가지 방법을 사용해도 무방하지만 모든 픽셀에 대하여 빠짐없이 처리가 필요

TECHNIQUES

3가지 기술이 존재. 하지만 3개가지의 기술 모두 동일한 목적을 가짐

contrast(선명) , brightness(밝기) 를 조정하는 것이 목적.


밝기 분포가 넓으면 contrast가 높은 영상.

Arithmetic Operation

두가지로 세분화 가능.

  • scalar Arithmetic Operation
    -> 이미지의 상수값 하나를 산술연산
    O(x,y) = k * I(x,y) + l

이때 l : level , k : gain이며 산술연산 시 픽셀이 가질 수 있는 범위(8비트라면 0~255)를 넘어 갈 수있으므로 주로 클리핑(clipping) 처리가 필요.
if (O(x,y) > 255) : O(x,y) = 255;
if (O(x,y) < 0) : O(x,y) = 0;

l과 k의 차이점은 k는 밝기의 분포가 변경됨. 즉 contrast에 영향을 미치고 l은 밝기만 조정

많이 사용하지는 않음.

  • Image Arithmetic Operation

노이즈가 있는 여러장의 이미지를 평균내어 처리하면 노이즈를 제거할 수 있음
연속 촬영한 두개의 영상을 빼면 물체의 이동을 찾을 수 있음.

GrayScale Transformation

O(x,y) = M[I(x,y)]
Mapping function을 통해 Image contrast 와 brightness를 향상시키는 방법

예를들어 (10,50)범위의 graylevel을 (10,250) 범위로 변경한다고 했을 때
M[I(x,y)]를

I(x,y)가 0 과 10 사이 일땐 I(x,y)
I(x,y)가 10과 50 사이일 땐 6[I(x,y)] - 50
I(x,y)가 50과 255 사이 일땐 I(x,y)

로 Mapping function을 정의 할 수 있다.

이외에도 다양한 형태의 Mapping function이 있다.

이 역시 Contrast와 Brightness를 조정하기 위함

Histogram Modification

입력영상으로부터 히스토그램 생성 -> 히스토그램 기반으로 새로운 히스토그램 생성 -> 새로운 히스토그램으로 새로운 영상 생성

GrayScale Image 의 Histogram 에서 0~255(Bin이라고 부름) 까지 표현가능할 때 해당하는 갯수와 확률을 계산할 수 있다.

True Color Image 의 Histogram 에서는 효용성이 없음. 100 x 100 pixel 의 영상이 있다면 표현가능한 색상수는 1600만개. Histogram에서 Count가 0 인값이 대부분이기 때문이다.
여러가지 방법이 있지만 True Color Image는 가장 빈도가 높은 256개의 Color를 뽑는다.(Color Quantization)
index color 형태로 만들어서 LookUp Table의 index으로 histogram을 생성 할 수있다. 연속적이진 않지만 유사한 형태로 볼 수 있다.

목적은 똑같다.
contrast와 brightness를 histogram의 모양을 변형시켜 향상시킨다.

histogram의 shape와 range를 변경시켜 조정시킬 수 있다.

Scaling

입력 영상의 히스토그램에서 Bin의 범위가 50에서 100이다. 새로운 영상에서는 10에서 210의 범위로 눌려주고 싶다면 어떻게 Mapping해야할까.
50은 10으로, 100은 210, 75는 210으로 메핑해야함. 55는 30으로 Mapping.
즉 동일한 비율로 늘어나기 때문에

(100-50):(x-50) = (210-10):(y-10)

비례식을 통해 x와 y의 관계식을 나타낼 수 있으므로 Histogram Scaling을 적용시킬 수 있다.
]

Sliding

히스토그램의 Bin범위를 이동시키는것.

O(x,y) = I(x,y) + offset

사실 앞에서 봤던 Arithmetic Operation과 동일하다.
개념적으로는 다르지만 방법이 똑같다. brightness를 조절 할 수 있다.

Equalization

입력 영상이 주어졌을 때 균일하며 범위도 넓은 Histogram 일 때 좋은 contrast를 얻을 수 있다.

사실 앞에서 봤던 GrayScale Transformation의 메핑함수를 통해서
균일하게 만들어 낼 수 있다.

profile
iOS Developer 개발자로 성장중입니다..! 공부하며 생각을 정리하다 보니 잘못된 정보가 있을 수 있으며 알려주시면 감사하겠습니다.

0개의 댓글