본문 바로가기
반응형

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

[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.
[OpenCV] 이미지 좌우, 상하 반전하기: cv2.flip() 사용 및 설명 소개  cv2.flip는 OpenCV에서 이미지를 좌우 또는 상하로 뒤집는 함수입니다. 이 함수는 이미지의 좌우 또는 상하를 반전할 수 있으며, 컴퓨터 비전 작업에서 이미지 증강을 위한 데이터 전처리나 이미지 변환에 자주 사용됩니다. 좌우 대칭, 상하 반전 같은 간단한 조작이 필요할 때 매우 유용합니다. 기본 사용법# 기본 사용법import cv2# 이미지 읽기image = cv2.imread('input_image.jpg')# 이미지를 좌우로 뒤집기flipped_image = cv2.flip(image, 1)# 결과 이미지 창에 표시cv2.imshow('Flipped Image', flipped_image)cv2.waitKey(0)cv2.destroyAllWindows()상세 설명파라미터 설명image.. 2024. 9. 29.
[OpenCV] 이미지 회전: cv2.rotate() 사용 및 설명 소개  cv2.rotate는 OpenCV에서 이미지를 90도, 180도 등 고정된 각도로 회전시키는 함수입니다. 회전은 이미지 처리에서 데이터 증강, 시각적 분석, 기하학적 변환 등 여러 용도로 사용됩니다. cv2.rotate는 사용하기 쉽고, 빠르게 이미지를 회전시킬 수 있는 함수입니다. 기본 사용법# 기본 사용법import cv2# 이미지 읽기image = cv2.imread('input_image.jpg')# 이미지를 90도 회전 (시계 방향)rotated_image_90 = cv2.rotate(image, cv2.ROTATE_90_CLOCKWISE)# 결과 이미지 창에 표시cv2.imshow('Rotated Image 90 degrees', rotated_image_90)cv2.waitKey(0).. 2024. 9. 28.
[OpenCV] 이미지 크기 조절: cv2.resize() 사용 및 설명 소개  cv2.resize는 OpenCV에서 이미지를 원하는 크기로 조절하는 함수입니다. 이미지 처리에서 크기를 조정하는 것은 객체 감지, 이미지 전처리, 데이터 증강 등의 작업에서 자주 사용됩니다. 이미지의 새로운 크기를 직접 설정하거나 비율을 지정하여 이미지를 축소하거나 확대할 수 있습니다. 기본 사용법# 기본 사용법import cv2# 이미지 읽기image = cv2.imread('input_image.jpg')# 이미지 크기 조정 (300x300으로 리사이즈)resized_image = cv2.resize(image, (300, 300))# 결과 이미지 창에 표시cv2.imshow('Resized Image', resized_image)cv2.waitKey(0)cv2.destroyAllWindow.. 2024. 9. 28.
[OpenCV] 이미지 팽창하기: cv2.dilate() 사용 및 설명 소개  cv2.dilate는 OpenCV에서 이미지 팽창(dilation) 처리를 수행하는 함수입니다. 이 함수는 이미지 내의 객체 크기를 확장하고, 작은 구멍이나 결함을 제거하는 데 유용합니다. 주로 이진 이미지에서 사용되며, 침식과 반대되는 효과를 냅니다. 팽창 처리는 객체의 밝은 영역(흰색)을 확장하고, 어두운 영역(검은색)을 축소하는 방식으로 작동합니다. 기본 사용법# 기본 사용법import cv2import numpy as np# 이진 이미지 생성 (검은 배경에 흰색 사각형)image = np.zeros((500, 500), dtype=np.uint8)cv2.rectangle(image, (150, 150), (350, 350), 255, -1)# 5x5 커널 생성kernel = np.ones(.. 2024. 9. 28.
[OpenCV] 이미지 침식하기: cv2.erode() 사용 및 설명 소개  cv2.erode는 OpenCV에서 이미지 침식(erosion) 처리를 수행하는 함수입니다. 이 함수는 주로 이진 이미지에서 사용되며, 이미지 내의 객체 크기를 줄이거나 작은 노이즈를 제거하는 데 유용합니다. 커널(kernel)을 이용하여 이미지의 밝은 영역(흰색)을 줄이고, 배경(검은색)을 확장하는 방식으로 동작합니다. 기본 사용법# 기본 사용법import cv2import numpy as np# 이진 이미지 생성 (검은 배경에 흰색 사각형)image = np.zeros((500, 500), dtype=np.uint8)cv2.rectangle(image, (100, 100), (400, 400), 255, -1)# 5x5 커널 생성kernel = np.ones((5, 5), np.uint8)# .. 2024. 9. 28.
[OpenCV] 이미지 블렌딩하기: cv2.addWeighted() 사용 및 설명 소개  cv2.addWeighted는 OpenCV에서 두 이미지를 가중치를 적용해 합성(블렌딩)하는 함수입니다. 이 함수는 두 이미지의 각 픽셀을 가중치에 따라 합성하여 자연스럽게 하나의 이미지로 결합합니다. 이미지 처리에서 블렌딩 작업, 트랜지션 효과, 또는 이미지 합성 작업을 할 때 많이 사용됩니다. 기본 사용법# 기본 사용법import cv2# 두 이미지 읽기 (같은 크기로 준비)image1 = cv2.imread('image1.jpg')image2 = cv2.imread('image2.jpg')# 두 이미지 가중합 (가중치: 0.7, 0.3)blended_image = cv2.addWeighted(image1, 0.7, image2, 0.3, 0)# 결과 이미지 창에 표시cv2.imshow('Bl.. 2024. 9. 28.
반응형