ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Image
    그래픽스 2021. 9. 29. 18:13

    디지털은 이미지를 2차원 배열에 저장한다.

    picture element(pixel) : 작은 사각형을 의미하는 것이 아니라, 그 안에 있는 샘플을 의미한다.

    Image Resolution 해상도

    Intensity resolution 빛의 세기(밝기 값)

    • bitmap과 비슷하다. 깊이 따라 빛의 밝기가 달라진다.

    Spatial resolution (공간 해상도)

    • Width x Height

    Temporal resolution (시간 해상도)

    • 모니터의 'Hz' (FPS를 의미한다.)

    Source of Error

    실제 값(Real value)과 샘플 값(Sample value,=digital)의 차이로 인해서 항상 Error가 난다.

    Intensity quantization(양자화)  빛의 세기

    • 빛의 세기가 부족할 형상

    Spatial aliasing 공간 해상도 계단 현상

    • 사이즈를 덜 쪼개서 발생한다.

    Temporal aliasing (시간 해상도) 깜박이는 현상

    • 움직이는 것이 끊겨서 보이는 것

    Quantization 양자화

    밝기 단계에 문제가 발생할 때 생긴다.

    실제 값은 실수 지만, 표현 할 때는 정수형으로 보여준다. 왼쪽처럼 실제 값은 자연스러운 흰색과 검은색이 보이지만, 표현할 때는 계단식으로 보인다.

    Reducing Effects of Quantization

    사람의 눈은 세부적으로 디테일 하게 보는 게 아니라 모든 것을 통합해서 평균적으로 보는 경향이 있다.

    Halftoning

    신문 인쇄 기술이다.연속적인 톤 이미지를 한가지 색 또는 4가지 색을 사용해서 표현할 수 있다.

    Dithering

    배경, 채우기 및 음영을 만드는 방법론 같은 것이다.

    Dithering -> Methods(방법론) , Halfton -> result(결과물)

    Halftoning

    I : real value

    P : sample value

    얼룩의 크기를 조절해서 표현 한다.

    Halftoning patterns

    픽셀 클러스터를 사용하여 강도 표현

    빛의 세기 : 밝기

    0 ~ 1

    Dithering

    제한된 색을 이용하여 음영이나 색을 나타내느 것

    Halftoning - Error

    Moire Patterns

    연속적으로 같은 패턴을 사용하면서, 발생하는 부분이다.

    왼쪽에 물결이 생긴다.

    Signal Processing

    Signal

    Real World : 연속적 신호

    Digital World : 이산 신호

    Image

    공간영역에서 다루게 된다.

    빛의 세기 밝기

    연속적인 신호를 선택하는 과정 : Sampling(선택된 수칙 값)

    Reconstruction(재구성) 샘플로 부터 연속적인 신호로 재구성한다.

    Aliasing

    샘플링이 적게 쓸때, 혹은 재구성 할 때 잘 못할 때 생기는 모든 현상을 Aliasing이라고 한다.

    • Spatial aliasing 공간 에어리징
    • Temporal aliasing 시간 에어리징

    Nyquist rate and aliasing

    샘플링을 하는 데, 얼마나 샘플링을 적게 하는 가?

    샘플링이 높으면, 메모리 UP, 시간 UP

    샘플링이 낮으면, aliasing 현상이 나온다.

    2* max frequency을 넘어 야지, aliasing이 고쳐진다.

    주파수(frequency): 초당 사이클의 횟수(Hz)

    Spatial Aliasing

    픽셀에 있지 않아서, 표현되지 못하는 문제가 발생한다.

    계단현상(Jaggies)

    아무리 작게, 픽셀을 표현한다고 해도, 계단현상을 없애는 것은 불가능하다.

    Temporal Aliasing

    Spinning Backward5초에 5바퀴를 도는 휠이 있다고 가정하면,CW(시계방향)CCW(반시계방향)

    어떤 장면을 포착하는 가에 따라서, 바퀴가 오른쪽, 왼쪽으로 돌거나, 도는 방향을 알 수 없게 되기도 한다.

    갑자기, 툭 하고 그림이 나오는 것을 Temporal 현상이다.

    깜빡임 현상이다.

    시간적이 현상이다.

    Anti-Aliasing

    Aliasing 현상을 제거하는 방법

    고주파 필터 : 저주파만 통과, 고주파 거른다.

    저주파 필터 : 저주파 고르고, 고주파를 통과

    위쪽은 끝의 부분을 흐리게 만들어서, 계단부분을 안보이게 만든 것이다.

    Pixel Operations

    해당 픽셀만 건드리는 것

    Grayscale(회색음영)

    Negative Image(색상반전)

    기존의 RGB값에 255를 빼주면 된다.

    Adjusting Brightness(밝기 조절)

    (R, G, B) -> (R, G , B) * scale

    스케일이 커지면, 255를 넘을 수 도 있다. 0~255가 되게 범위로 짤라준다.

    Adjusting Contrast(색상 대비)

    Luminance(밝기) : L은 평균값전체 픽셀에 대한 밝기의 값이다.

    R -> L + (R-L)*scale

    G -> L + (G-L)*scale

    B -> L + (B-L)*scale

    Adjusting Saturation (채도)

    RGB는 자체에 채도가 없고, HSV(Hue Saturation Value)에는 채도가 있다.

    • RGB -> HSV로 변환한다.
    • 각 픽셀에 대한 S(Saturation)값을 구한다.
    • HSV -> RGB로 다시 변환한다.

    Filtering

    Convolution

    • Spatial domain
      • 픽셀 주위에 있는 값들을 가중치의 합으로 표현된다.
      • 이 패턴을 "filter'라고 한다.
      • 픽셀에다가, 가중치 값을 곱한다.

    Adjust Blurriness

    전체 필터를 가중치를 주어서, 뿌옇게 만들 수 있다.

    Edge Detection

    기존 값에 필터의 값을 곱한다.

    Clamping : 0 ~ 255 범위에 있게 만든다.

    Sharpening

    Embossing

    • 전체 이미지를 회색음영을 만든다.
    • 회색음영에다가 필터를 넣는다.
    • 최종 픽셀 값에다가 128 값을 더해준다. Or 0.5를 더해준다.

    Warping

    이미지를 움직일 때 사용한다.

    Warping = mapping + resampling

    Mapping

    픽셀의 위치를 지정한다.

    Resampling

    픽셀의 색상을 조정한다.

    Mapping Two options

    Forward mapping
    Reverse mapping

    Forward mapping : 원본에서 목적지로 가는 방법

    Reverse mapping : 목적지에서 원본으로 가는 방법

    모든 소스에 있는 u, v에 있는 원본에서 어디로 갔는가?

    Scale by factor

    x = factor * u

    y = factor * v

    Rotate by θ degrees

    x = ucosθ - vsinθ

    y = usinθ + vcosθ

    Shear in X by factor

    x = u + factor * v

    y = v

    Shear in Y by factor

    x = u

    y = v + factor * u

    Forwarding mapping

    for (int u =0; u < umax; u++) {
    	for (int v = 0; v < vmax; v++)  {
    		float x = fx (u, v);
    		float y = fy (u, v);
    		dst (x, y) =  src(u, v) ; color 값
    	}
    }

    Forwarding mapping의 문제

    픽셀이 없으면, 구멍이 난다.

    픽셀이 여러 개 있어서 중복된다.

    Reverse mapping

    Forward mapping의 단점을 보안하기 위해 나왔다.

    Reverse Mapping

    • 소스를 다시 샘플링을 해야한다.
    • 하지만 훨신 간단하다.

    Resampling

    원본으로 돌아갈 때, 정수형으로 떨어지지 않는다.

    • Point sampling
    • Triangle filter
    • Gaussain filter

    Point sampling

    가까운 픽셀에서 값을 가져온다.

    • int iu = trunc(u + 0.5) 반올림 함수
    • int iv = trunc(v + 0.5) 반올림 함수
    • dst(x, y) = src(iu, iv) color 값을 근처에서 가져온다.

    Filtering

    Triangle Filtering

    Linear Interpolation (선형보간법)

    이중선형 보간

    이중선형 보간법 푸는 법

    1)Point Sampling

    • (0.7 + 0.5, 0.2 + 0.5) -> (1, 0) -> 250밝기 이다.

    2) Bilinear Interpolation

    • A = 100 * 0.3 + 200 * 0.7 = 170
    • B = 50 * 0.3 + 250 * 0.7 = 190
    • P = 170 * 0.2 + 190 * 0.8 = 186

    Image Compositing

    • 배경을 만들고
    • 파란색 배경을 가진 전경을 만든다.
    • 오른쪽 배경에 파란색 배경이 아닌 전경을 넣어준다.

    Alpha Channel

    a = 0  완전 투영

    a = 1  완전 불투

    0 < a < 1 부분만 투영한다.

     

    만약, a = 0.3이면,

     a = 1 전경

     a = 0 배경

     0 < a < 1

    Alpha channel convention

    A = (rA , gA, bA)

    aAA = (rA*aA , gA*aA, bA*aA)

    Cross-Dissolving (=Blend)

    blend(i, j) = (1-t) src(i, j) + t dst(i, j)  (0 <= t <= 1)

    Image Morphing

    모양을 변경하고, 색상을 변한다.

    Feature Based Morphing

    마이클 젝슨의 Black Or White에서 사람들이 모습이 변화는 부분이 있습니다. 특징을 이용해서 Morphing을 하는 부분입니다.

    '그래픽스' 카테고리의 다른 글

    3D Object  (0) 2021.11.01
    3D 렌더링  (0) 2021.10.25
    Modeling Transformation  (0) 2021.10.20
    Color  (0) 2021.09.27
    Graphics System  (0) 2021.09.13

    댓글

Designed by Tistory.