WPF OpenCV 프로젝트 #26: Lens Distortion – Barrel & Pincushion

Lens Distortion (볼록 왜곡 효과)

Barrel Distortion 과 Pincushion Distortion 을 이번 WPF OpenCV 프로젝트에서 구현하겠습니다. 지난 포스팅(#25)에서는 Cv2.Remap을 이용해 물결처럼 일렁이는 효과(Wave Effect)를 구현했습니다. Sin, Cos 함수로 픽셀을 흔들어주니 재미있는 결과가 나왔었죠?그리고, Lens Distortion 의 내용을 정리 하면서 Barrel Distortion(볼록 왜곡)과 Pincushion Distortion(오목 왜곡)을 짧게 정리 하긴 했었는데, 이것을 프로젝트에 구현하진 않았습니다. Remap() 함수를 통해 이미지를 X방향과 Y 방향으로 … 더 읽기

WPF OpenCV 프로젝트 #24: Perspective Transform (원근 변환) 구현

Perspective Transform

Perspective Tranform (원근 변환)에 대해 알아보고 WPF OpenCV 프로젝트에 추가하도록 하겠습니다.지난 포스팅(#23)에서는 Affine Transform (어핀 변환)을 통해 이미지를 평행 하게 찌그러뜨리는 법을 배웠습니다. 어핀 변환의 핵심은 “평행한 선은 영원히 평행하다” 라고 했었던 것 기억하죠? 하지만 현실 세계는 다릅니다. 기찻길을 생각해보세요. 분명히 두 레일은 평행 하지만, 멀리 볼수록 한 점(소실점)에서 만나는 것처럼 보입니다. 이것이 바로 Perspective … 더 읽기

WPF OpenCV 프로젝트 #23: Affine Transform (어핀 변환)

Affine Transform

Affine Transform (어핀 변환)대한 내용을 간략히 정리하고 WPF OpenCV 프로젝트에 추가하도록 하겠습니다. 지난 포스팅(#22)에서는 이미지의 이동, 회전, 확대/축소 같은 기본적인 Geometric Transform(기하학적 변환)을 다뤘습니다. 기억하시죠? 오늘은 Geometric Transform 에서 조금 더 나아가 Affine Transform (어핀 변환)에 대해 알아보고 구현해 보겠습니다. 이미지를 단순히 돌리고 키우는 것을 넘어, 이미지를 ‘찌그러뜨리거나 뒤틀어 버리는(Warping)’ 재미있는 작업입니다. 하지만 “직선의 평행성은 … 더 읽기

WPF OpenCV 프로젝트 #22: Geometric Transform (이동, 회전, 확대/축소)

Geometric Transform Image

Geometric Transform(기하학적 변환)에서 이미지의 이동과 회전, 확대/축소에 대해 정리하고, WPF OpenCV 프로젝트에 구현하도록 하겠습니다. 지난 포스팅(#21)에서는 히스토그램 버그를 잡느라 잠시 쉬어갔었죠? 오늘은 드디어 잠시 미뤄뒀던 Geometric Transform(기하학적 변환)을 구현해 볼 차례입니다. 그동안 우리는 픽셀의 ‘색상’이나 ‘밝기’를 바꾸는 작업(히스토그램, 정규화 등)을 주로 했습니다. 하지만 오늘 할 작업은 픽셀의 ‘위치’를 바꾸는 작업입니다. 이미지를 옮기고(Translation), 돌리고(Rotation), 크기를 조절하는(Scaling) … 더 읽기