분류 전체보기

컴퓨터 과학/👀 컴퓨터 비전

📸 [OpenCV 기초] 모자이크, 리퀴파이, 왜곡 거울 실습 완벽 정리

안녕하세요! 오늘은 그동안 배운 기하학적 변환 기술들을 총동원하여 모자이크 처리, 리퀴파이 도구, 그리고 왜곡 거울 카메라를 직접 구현해보는 실습을 진행하겠습니다. 단순히 이론을 배우는 것을 넘어 실제 서비스에서 활용되는 기능들이 어떻게 동작하는지 확인해 보시기 바랍니다.1. 실습 1: 모자이크 처리 (Mosaic)모자이크의 원리는 아주 간단합니다. 특정 영역의 이미지를 아주 작게 축소했다가 다시 원래 크기로 확대하는 것입니다. 작은 이미지를 크게 늘리면 픽셀 정보가 손실되면서 이미지가 깨지게 되는데, 이를 활용하는 방식입니다.핵심 로직: cv2.resize()를 이용해 1/rate 비율로 축소 후 다시 원래 크기로 확대합니다.보간법: 확대 시 cv2.INTER_AREA를 사용하면 픽셀이 뭉개지는 효과가..

컴퓨터 과학/👀 컴퓨터 비전

📸 [OpenCV 기초] 리매핑(Remapping)과 렌즈 왜곡(Distortion) 완벽 정리

안녕하세요! 오늘은 앞서 배운 변환 행렬만으로는 구현하기 어려운 비선형 변환, 즉 이미지 리매핑(Remapping)과 렌즈 왜곡(Lens Distortion) 효과에 대해 알아보겠습니다.이미지의 픽셀을 규칙성 없이 자유롭게 옮기거나, 볼록 렌즈로 본 것처럼 뒤트는 기법들은 특수 효과뿐만 아니라 카메라의 렌즈 오차를 바로잡는 데에도 필수적으로 사용됩니다.1. 리매핑(Remapping)이란?리매핑은 이미지의 픽셀을 특정 규칙이나 수식에 따라 새로운 좌표로 재배치하는 과정입니다. OpenCV에서는 cv2.remap() 함수를 사용합니다.🛠️ cv2.remap() 핵심 파라미터mapx, mapy: 각 픽셀이 이동할 X좌표와 Y좌표를 담은 행렬입니다. 입력 이미지와 크기가 같아야 하며 float32 타입이어야 ..

AI/🤖 딥러닝

📸 [OpenCV 기초] 이미지 뒤틀기(어핀 변환, 원근 변환) 완벽 정리

안녕하세요! 오늘은 이미지를 기하학적으로 뒤틀어 모양을 바꾸는 이미지 뒤틀기(Warping) 기법인 어핀 변환과 원근 변환에 대해 알아보겠습니다.단순히 크기를 키우거나 돌리는 수준을 넘어, 평면 이미지를 입체적으로 보이게 하거나 비뚤어진 문서를 똑바로 스캔한 것처럼 펴주는 마법 같은 기술입니다.1. 어핀 변환(Affine Transform)어핀 변환은 이미지의 평행성을 유지하면서 직선, 길이, 각도를 변화시키는 뒤틀기 방법입니다. 변환 전후의 좌표 3개만 지정하면 변환 행렬을 구할 수 있습니다.📍 어핀 변환 예제 코드import cv2import numpy as npimg = cv2.imread('fish.jpg')rows, cols = img.shape[:2]# 변환 전, 후 3개의 좌표 지정pts1..

컴퓨터 과학/👀 컴퓨터 비전

📸 [OpenCV 기초] 이미지 이동, 확대/축소, 회전 완벽 정리

안녕하세요! 오늘은 영상 처리의 기본 중의 기본인 기하학적 변환(Geometric Transformation), 즉 이미지를 옮기고(이동), 키우고(확대/축소), 돌리는(회전) 방법에 대해 알아보겠습니다.이미지를 변형할 때는 변환 행렬(Transformation Matrix)이라는 개념이 사용되는데, OpenCV 함수를 활용하면 복잡한 수학식 없이도 간단하게 구현할 수 있습니다.1. 이미지 이동 (Translation)이미지 이동은 원래 있던 좌표에 이동시키려는 거리만큼 더해주는 작업입니다. 이를 위해 2 x 3 변환 행렬을 사용합니다.OpenCV의 cv2.warpAffine() 함수를 사용하면 이 변환 행렬을 기반으로 이미지를 평행 이동시킬 수 있습니다.📍 평행 이동 예제 코드import cv2imp..

컴퓨터 과학/👀 컴퓨터 비전

📸 [OpenCV 기초] 이미지 유사도 비교부터 모션 감지 CCTV까지 실습 완벽 정리

안녕하세요! 오늘은 그동안 배운 OpenCV의 다양한 기능을 활용하여 이미지 유사도 비교, 얼굴 합성, 그리고 모션 감지 CCTV를 직접 구현해보는 실습 위주의 내용을 정리해 보겠습니다. 히스토그램 연산과 프레임 차이 분석을 실무에 어떻게 적용하는지 확인해 보시기 바랍니다.1. 이미지 유사도 비교 (Image Similarity)이미지의 히스토그램 분포가 비슷하면 유사한 이미지일 확률이 높다는 점을 이용합니다. OpenCV는 두 히스토그램을 비교하는 cv2.compareHist() 함수를 제공합니다.주요 알고리즘:cv2.HISTCMP_CORREL: 상관관계 (1에 가까울수록 일치)cv2.HISTCMP_CHISQR: 카이제곱 (0에 가까울수록 일치)cv2.HISTCMP_INTERSECT: 교차 (1에 가까..

컴퓨터 과학/👀 컴퓨터 비전

📸 [OpenCV 기초] 2차원 히스토그램과 역투영(Back Projection) 완벽 정리

안녕하세요! 오늘은 이미지 분석에서 특정 물체를 찾아내는 강력한 도구인 2차원 히스토그램과 역투영(Back Projection)에 대해 알아보겠습니다.이미지 내에서 단순한 색상 분포를 넘어, 내가 원하는 대상의 색상 레시피를 찾아내고 이를 전체 영상에서 매칭하는 아주 유용한 기술입니다.1. 2차원 히스토그램 (2D Histogram)1차원 히스토그램이 각 픽셀값의 개수를 단순히 세는 것이라면, 2차원 히스토그램은 축이 2개이며 각 축이 만나는 지점의 개수를 표현합니다. 예를 들어 "Blue가 100이면서 Green이 50인 픽셀은 몇 개인가?"를 분석하는 식입니다.결과는 1차원 그래프가 아닌 이미지 형태의 2차원 배열로 나타나며, 보통 색상 검출에 유리한 HSV 컬러 스페이스에서 H(색조)와 S(채도)를..

이재원
'분류 전체보기' 카테고리의 글 목록