[DIP] Tangential Distortion (접선왜곡)

2024. 9. 10. 15:38·Programming/DIP
728x90
728x90

접선 왜곡(Tangential distortion)은 일반적인 렌즈를 사용하는 광학 시스템에서 발생하는 렌즈 왜곡(lens distortion)의 한 유형임.

 

  • 렌즈 축에서 멀어진 객체의 위치가 왜곡되어 이미지 포인트가 이상적인 위치에서 접선 방향으로 이동되는 결과를 초래.
  • Barrel distortion과 함께 대표적인 lens distortion임.

다음 접힌 글은 Barrel distortion에 대한 설명임:

더보기

2023.09.26 - [Programming/DIP] - [DIP] Radial distortion : barrel and pincushion distortions

 

[DIP] Radial distortion : barrel and pincushion distortions

0. Remapping matrix equation으로 표현할 수 없는 형태(non-linear)의 이미지 모양 변환을 위한 기능. OpenCV에서 cv2.remap() 함수를 통해 제공되며, lens distortion 및 radial distortion등을 모델링하거나 제거하는데

dsaint31.tistory.com

 

다음그림은 Tangential distortion의 주요 원인과 패턴을 보여줌.


접선 왜곡의 원인

주로 imaging plane (photodiode들이 놓인)이 lens와 평행하게 배치되지 않아 발생하게 됨.


Tangential distorton 의 특징

특정 이미지의 영역이 원래 보다 더 가깝게 보임: (위의 그림의 경우 아래쪽 영역이 보다 가까이 있는 것처럼 보이게됨.


수학적 표현

수학적으로, Tangential distorton 은 흔히 두 개의 parameters, $p_1$ 과 $p_2$, 로 사용하여 다음의 수식으로 모델링됨 (OpenCV 등).
이는 원래의 이미지 포인트 $(x, y)$ 가 왜곡된 $(x', y')$ 로 이동하는 것을 보옂무.

$$
x' = x + (2p_1xy + p_2(r^2 + 2x^2)) \\\\
y' = y + (p_1(r^2 + 2y^2) + 2p_2xy)$$

여기서 $r^2 = x^2 + y^2$ 으로 이미지 중심으로부터의 거리가 $r$임.


Barrel distortion까지 같이 고려할 경우:

$$\begin{bmatrix} x' \\ y' \end{bmatrix} = (1+k_1 r^2 +k_2 r^4 +k_3 r^6)\begin{bmatrix}x \\y \end{bmatrix} + \begin{bmatrix} (2p_1xy + p_2(r^2 + 2x^2)) \\ (p_1(r^2 + 2y^2) + 2p_2xy) \end{bmatrix}$$


Tangential distortion의 correction

  • Tangential distortion 은 image processing을 통해 수정 가능함.
  • 주로 chess board를 이용한 카메라 캘리브레이션 기법을 통해 barral distortion의 파라메터인 $k_1, k_2, k_3$과 함께 tangential distortion의 파라미터 $p_1, p_2$도 같이 구해짐.
  • 이 parameters를 통해 다시 원래의 pixel 위치로 remapping을 수행함으로써 distortion을 제거함.

Camera calibration의 경우,
보통 intrinsic matrix, extrinsic matrix 도 같이 구해짐.

더보기

2024.06.22 - [Programming/DIP] - [CV] Geometric Camera Model and Camera Calibration: Pinhole Camera

 

[CV] Geometric Camera Model and Camera Calibration: Pinhole Camera

Geometric Camera Model (or Camera Model)은 real world 와  camera의 pose에 따라,real world 와  camera의 image 간의 관계를approximation 함. 이 문서에서는 기본적인 Pinhole Camera Model에 기반하여 설명함.pinhole camera는

dsaint31.tistory.com

 


같이 보면 좋은 URLs

https://docs.opencv.org/4.x/dc/dbb/tutorial_py_calibration.html

 

OpenCV: Camera Calibration

Goal In this section, we will learn about types of distortion caused by cameras how to find the intrinsic and extrinsic properties of a camera how to undistort images based off these properties Basics Some pinhole cameras introduce significant distortion t

docs.opencv.org

 

https://darkpgmr.tistory.com/31

 

카메라 왜곡보정 - 이론 및 실제

저번 카메라 캘리브레이션에 대한 포스팅에 이어 오늘은 카메라 렌즈 왜곡 보정에 대해 이론에서 실제까지 전반적인 내용을 포스팅합니다. 카메라 캘리브레이션 및 왜곡 보정은 영상처리 분야

darkpgmr.tistory.com

 

https://ds31x.tistory.com/339

 

[CV] Chessboard관련 함수들: OpenCV

cv.findChessboardCorners()cv.findChessboardCorners() 함수는 OpenCV 라이브러리에서 제공하는 함수chessboard 패턴의 코너를 찾는 데 사용됨.이 함수는 camera calibration 과정에서 자주 사용됨.입력 이미지에서 chessbo

ds31x.tistory.com

 

2023.09.26 - [Programming/DIP] - [DIP] Radial distortion : barrel and pincushion distortions

 

[DIP] Radial distortion : barrel and pincushion distortions

0. Remappingmatrix equation으로 표현할 수 없는 형태(non-linear)의 이미지 모양 변환을 위한 기능.OpenCV에서 cv2.remap() 함수를 통해 제공되며,lens distortion 및radial distortion등을모델링하거나 제거하는데 사용

dsaint31.tistory.com

2024.06.22 - [Programming/DIP] - [CV] Geometric Camera Model and Camera Calibration: Pinhole Camera

 

[CV] Geometric Camera Model and Camera Calibration: Pinhole Camera

Geometric Camera Model (or Camera Model)은 real world 와  camera의 pose에 따라,real world 와  camera의 image 간의 관계를approximation 함. 이 문서에서는 기본적인 Pinhole Camera Model에 기반하여 설명함.pinhole camera는

dsaint31.tistory.com

 


 

 

 

 

'Programming > DIP' 카테고리의 다른 글

[OpenCV] API Backend for VideoCapture  (0) 2024.09.11
[DIP] Hu Moment  (2) 2024.09.10
[CV] Sharpness (선예도)  (0) 2024.09.05
[CV] Brightness vs. Intensity  (0) 2024.09.05
[CV] High Dynamic Range  (1) 2024.09.03
'Programming/DIP' 카테고리의 다른 글
  • [OpenCV] API Backend for VideoCapture
  • [DIP] Hu Moment
  • [CV] Sharpness (선예도)
  • [CV] Brightness vs. Intensity
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (740)
      • Private Life (13)
      • Programming (186)
        • DIP (104)
        • ML (26)
      • Computer (119)
        • CE (53)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (351)
        • Signals and Systems (103)
        • Math (172)
        • Linear Algebra (33)
        • Physics (42)
        • 인성세미나 (1)
      • 정리필요. (54)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (1)
        • PET Study 2009 (1)
        • 방사선 장해방호 (4)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    numpy
    fourier transform
    opencv
    SS
    Optimization
    검사
    Convolution
    Python
    Term
    function
    signal_and_system
    random
    Vector
    인허가제도
    Programming
    linear algebra
    math
    Probability
    signals_and_systems
    SIGNAL
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[DIP] Tangential Distortion (접선왜곡)
상단으로

티스토리툴바