WPF OpenCV 프로젝트 #27: Lens Distortion – Inverse Mapping & Optimization

Manual Calculate Lens Distortion Effect

Lens Distortion (렌즈 왜곡) 효과를 영상 처리로 구현 하는 또 다른 방법(Inverse Mapping)을 정리하고, WPF OpenCV 프로젝트에 추가해 보겠습니다. 이전 포스팅(#26)에서 다룬 Lens Distortion(렌즈 왜곡) 효과는 사실 포토샵의 Liquify(픽셀 유동화)나 어안 렌즈 효과 처럼 사용자가 원하는 지점을 중심으로 이미지를 볼록하거나, 오목하게 만드는 기능이었습니다. 볼록/오목 효과를 이미지의 특정 좌표를 기준으로 직교 좌표를 획득해서, 극 좌표로 변환하고, … 더 읽기

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 프로젝트 #25: Lens Distortion (렌즈 왜곡) 효과 (Remap & Wave Effect)

Lens Distortion (Wave Effect)

Remap (픽셀 재배치)을 이용한 Wave Effect를 이번 WPF OpenCV 프로젝트에 정리하고 추가/구현 하도록 하겠습니다. 지난 포스팅(#24)에서는 원근 변환(Perspective Transform)을 통해 찌그러진 문서를 펴는 마법을 부렸습니다. 기억나시죠? 그동안 다뤘던 이동, 회전, 어핀, 원근 변환의 공통점이 있습니다. 바로 행렬(Matrix) 하나로 모든 것이 해결되는 ‘선형 변환‘이라는 점입니다. 즉, 직선은 변환 후에도 여전히 직선으로 남아있었습니다. 하지만 현실 세계는 그렇게 … 더 읽기