본문 바로가기
반응형

함수 설명/컴퓨터 비전 (OpenCV, PIL)56

[OpenCV] 이미지 확대: cv2.pyrUp() 사용 및 설명 소개  cv2.pyrUp는 OpenCV에서 이미지의 크기를 두 배로 확대하는 함수입니다. 이 함수는 피라미드 업샘플링(pyramid upsampling) 기법을 사용해 이미지를 확대할 때 부드러운 보간을 적용합니다. 크기를 단순히 두 배로 늘리기보다, 이미지의 질을 유지하면서 확대가 가능해 객체 감지 전처리나 이미지 증강 작업에서 사용됩니다. 기본 사용법# 기본 사용법import cv2# 이미지 읽기image = cv2.imread('input_image.jpg')# 이미지를 두 배로 확대larger_image = cv2.pyrUp(image)# 결과 이미지 창에 표시cv2.imshow('Larger Image', larger_image)cv2.waitKey(0)cv2.destroyAllWindows().. 2024. 9. 29.
[OpenCV] 원 찾기: cv2.HoughCircles() 사용 및 설명 소개  cv2.HoughCircles는 OpenCV에서 이미지 내 원을 검출하는 함수로, 허프 변환(Hough Transform) 알고리즘을 사용하여 동작합니다. 이 함수는 이미지에서 원의 중심과 반지름을 찾아내는 데 효과적이며, 동전 검출, 눈동자 추적, 기하학적 모양 인식 등의 작업에 자주 사용됩니다. 기본 사용법# 기본 사용법import cv2import numpy as np# 그레이스케일 이미지 읽기image = cv2.imread('input_image.jpg', 0)# 가우시안 블러 적용 (노이즈 제거를 위해)blurred_image = cv2.GaussianBlur(image, (9, 9), 2)# 허프 변환을 사용해 원 검출circles = cv2.HoughCircles(blurred_im.. 2024. 9. 29.
[OpenCV] 직선 찾기: cv2.HoughLines() 사용 및 설명 소개  cv2.HoughLines는 OpenCV에서 이미지 내에서 직선을 검출하는 함수로, 허프 변환(Hough Transform) 알고리즘을 기반으로 동작합니다. 이 함수는 이미지의 경계선 또는 모서리를 분석하여 직선을 찾고, 이를 수학적으로 나타냅니다. 경계선 감지 후 직선을 찾아내는 작업에서 많이 사용됩니다. 기본 사용법# 기본 사용법import cv2import numpy as np# 그레이스케일 이미지 읽기image = cv2.imread('input_image.jpg', 0)# Canny 경계선 검출edges = cv2.Canny(image, 50, 150)# 허프 변환을 사용해 직선 검출lines = cv2.HoughLines(edges, 1, np.pi/180, 200)# 검출된 직선을 이.. 2024. 9. 29.
[OpenCV] 경계선 찾기: cv2.Canny() 사용 및 설명 소개  cv2.Canny는 OpenCV에서 가장 널리 사용되는 경계선 감지(edge detection) 알고리즘입니다. 이 함수는 이미지에서 경계선을 추출하는 데 사용되며, 객체 인식, 이미지 분할, 경계 검출 등의 작업에 자주 활용됩니다. Canny 알고리즘은 가우시안 블러링을 적용한 후, 그레디언트의 변화가 큰 부분을 찾아 경계선을 추출하는 방식으로 작동합니다. 기본 사용법# 기본 사용법import cv2# 그레이스케일 이미지 읽기image = cv2.imread('input_image.jpg', 0)# Canny 경계선 검출edges = cv2.Canny(image, 100, 200)# 결과 이미지 창에 표시cv2.imshow('Canny Edge Detection', edges)cv2.waitKe.. 2024. 9. 29.
[OpenCV] 적응형 임계값 처리하기: cv2.adaptiveThreshold() 사용 및 설명 소개  cv2.adaptiveThreshold는 OpenCV에서 적응형 임계값 처리(adaptive thresholding)를 수행하는 함수입니다. 이 함수는 이미지의 각 부분에 맞게 다른 임계값을 적용하는 방식으로, 조명이 균일하지 않은 이미지에서도 효과적인 이진화를 제공합니다. 문서 스캔, 객체 감지 등에서 밝기가 균일하지 않은 이미지의 이진화를 처리하는 데 매우 유용합니다. 기본 사용법# 기본 사용법import cv2# 그레이스케일 이미지 읽기image = cv2.imread('input_image.jpg', 0)# 적응형 임계값 처리adaptive_thresh_image = cv2.adaptiveThreshold(image, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, .. 2024. 9. 29.
[OpenCV] 이미지 임계값 처리: cv2.threshold() 사용 및 설명 소개  cv2.threshold는 OpenCV에서 이미지의 픽셀 값을 임계값을 기준으로 이진화하는 함수입니다. 이 함수는 그레이스케일 이미지에서 주로 사용되며, 특정 임계값을 기준으로 픽셀 값을 흰색(255) 또는 검은색(0)으로 변환하여 객체 감지, 경계 추출 등의 작업에 사용됩니다. 다양한 임계값 처리 방법을 제공합니다. 기본 사용법import cv2# 그레이스케일 이미지 읽기image = cv2.imread('input_image.jpg', 0)# 임계값 설정ret, thresh_image = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY)# 결과 이미지 창에 표시cv2.imshow('Thresholded Image', thresh_image)cv2.wait.. 2024. 9. 29.
[OpenCV] 이미지의 원근 변환: cv2.warpPerspective() 사용 및 설명 소개  cv2.warpPerspective는 OpenCV에서 이미지를 원근 변환(perspective transformation)하는 함수입니다. 원근 변환은 이미지의 시점을 바꾸거나 이미지를 기하학적으로 왜곡하여 원근 효과를 적용할 때 사용됩니다. 이 함수는 3x3 변환 행렬을 이용하여 이미지를 변환할 수 있으며, 문서 스캔 및 왜곡된 이미지를 보정하는 등의 작업에 유용하게 쓰입니다. 기본 사용법# 기본 사용법import cv2import numpy as np# 이미지 읽기image = cv2.imread('input_image.jpg')# 변환 전의 네 개의 좌표 (예: 문서의 코너)pts1 = np.float32([[100, 100], [400, 100], [100, 400], [400, 400]].. 2024. 9. 29.
[OpenCV] 이미지 기하학적 변환: cv2.warpAffine() 사용 및 설명 소개  cv2.warpAffine는 OpenCV에서 이미지를 선형 변환하는 함수입니다. 이 함수는 이미지 이동, 회전, 크기 변환 등의 기하학적 변환을 수행할 수 있으며, 2x3 크기의 변환 행렬을 이용해 이미지를 변환합니다. 주로 이미지 처리 및 증강에서 필수적으로 사용되는 함수입니다. 기본 사용법# 기본 사용법import cv2import numpy as np# 이미지 읽기image = cv2.imread('input_image.jpg')# 이미지 크기 (높이, 너비) 확인rows, cols = image.shape[:2]# 2x3 변환 행렬 정의 (이미지 이동)M = np.float32([[1, 0, 50], [0, 1, 50]])# 이미지 변환 (이미지 이동)shifted_image = cv2.w.. 2024. 9. 29.
반응형