프로그래밍 공부
작성일
2022. 9. 21. 00:07
작성자
WDmil
728x90

이미지 파일

BMP, PNG , JPG , GIF 등

대표적인 파일 : JPG

PNG 는 압축하지 않은 포멧


BMP File Format

디지털 영상 처리는 nXm 매트릭스로 데이터를 처리함. 이때 이미지 파일만이 아닌 다른 데이터 또한 저장함

File header (14byte)
Bitmap Information (40byte)
Color Table (4*Bits/Pixel Bytes)
Image Data/Color Index Array 

여기서 이미지 파일만 가져오기는 어려울 수 있다.

MATLAP , Python 의 라이브러리 함수를 사용하여 가져오면 편하다.

 

그런데, NxM matrix 파일만 저장 할 수 있다 그러한 파일을 raw 파일 이라고 한다.

포토샵으로 .raw파일로 저장해서 불러올 수 있다.


이미지 촬영 순서

광원 반사 -> Image Sensing -> NxM matrix 제작 후 파일생성 -> Displaying 출력

이미지를 가져와서 확인하려면 디스플레이가 있어야 한다.

 

디스플레이에 출력되는 이미지는 NxM matrix에 대한 픽셀 밝기 데이터로 출력된다. 0 - 255 [ 0은 어두움 255는 밝음 ]

 

LED display 에서 작동되는 원리

NxM matrix의 소자하나당 LED한개씩 해당한다.

 

이때 컬러를 재현하기 위해서는 다른 디스플레이를 사용해야 한다.

 RGB의 LED를 3개씩 넣은 것을 한개의 LED로 하고 제어한다.


Quantization

임의의 이미지의 밝기 레밸을 단계별로 구분하여 표현 할 수 있다.

256 단계를 2단계로 표현한다면. 양자화와 같이 표현하여 2단계로 분할하여 0 아니면 255로 분류. 반올림처리하여 매핑할 수 있다.

Sampling Effects

위치 내에 있는 픽셀을 통합하여 표현한다.

가로방향으로 임의의 픽샐마다 샘플링하여 표시하면 도트처럼 표시된다. 오른쪽으로 4개씩 띄워서 샘플링 하거나 2개씩 띄우거나 해서 표현 할 수 있다.


Image Enhancement [ 이미지 향상 ]

Gray Level Processing

픽셀 값을 Gray Level로 따지는데, 픽셀 값을 변환하는것.

(x,y)축 상의 이미지 픽셀 값을 바꾸는것

 

f(x,y)의 값을 바꾼다. 변환함수를 활용하여 바꿔준다

g(x,y) = T[f(x,y)]

 

f(x,y)라는 임의의 값을 T의 변환함수를 활용해서 다른 값으로 변환시키고 변환된 값을 출력한다.

 

변환함수

T펑션에 어떠한 함수가 들어가는지

각 펑션의 설명

Negative 펑션

들어간다고 하면, f(x,y)의 값이 64 라고 한다면, 192가 나오게 된다. 즉, 정비례로 내려가게 됨으로 큰 수 일수록 낮아지고 작은수 일수록 커진다.

즉, S= 255-r 로 표현할 수 있다.

Negative 펑션을 적용한 이미지
만약 코드로 구현한다면,

for(j=0; j < h ; j++)

{

    for(i=0; i < w ; i++)

    {

          ptr[j][i] = 255 - ptr[j][i];

    }

}

라고 표현할 수 있다.

 

Log transformation

S = c log(1+r)밝기가 어두운 구역은 더 밝게 표시해준다.

Log transformation 을 적용한 이미지 ( Log의 종류에 따라 달라질 수 있다. )
조그마한 차이에도 큰 차이를 만들어 낼 수 있다.

 

Power-Law Transforamtion

$ s = cr^\gamma  $ 

$ \gamma  $는 감마값으로 데이터의 임의 수정치이다.

감마의 차이로 데이터의 차이가 벌어진다.
감마조절로 데이터의 밝기를 조절할 수 있다. 감마가 1보다 작으면 Log함수의 효과를 볼 수 있다.감마가 1보다 크면 일정값 이상의 데이터만을 도출해낼 수 있다.이때 r값이 정규화 되지 않았을 때는 값이 반대로 바뀌기 때문에 정규화가 되어야 한다.
Power-Law Transforamtion 을 사용한 MRI 이미지 뒤 어두운 영역이 변환되어 보이는것을 볼 수 있다.
반대로 밝은 영역은 감마를 1보다 크게하면 어둡게되어 잘 보이게 된다.
Identiy 펑션S = r입력값과 출력값이 같을때를 의미함.

728x90