Tech & Development/Image Processing
[OpenCV] Basic 14 - 텍스트 추가하기 (Add Text)
[OpenCV] Basic 14 - 텍스트 추가하기 (Add Text)
2024.11.22OpenCV에서는 이미지에 텍스트를 추가하여 설명이나 주석을 넣을 수 있습니다. 예를 들어, 객체 인식 후 객체의 이름을 표시하거나, 특정 위치에 정보를 표시할 때 유용하게 사용할 수 있습니다. putText 함수를 사용하여 이미지를 원하는 스타일과 위치로 꾸밀 수 있습니다.Import packagesimport cv2import numpy as npimport matplotlib.pyplot as pltFunction to Display Images in Jupyter NotebookJupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의합니다.def img_show(title='image', img=None, figsize=(8, 5)): ..
[OpenCV] Basic 13 - 윤곽선 검출 (Contour Detection)
[OpenCV] Basic 13 - 윤곽선 검출 (Contour Detection)
2024.11.21윤곽선 검출은 이미지 내 객체의 경계를 찾아내는 방법으로, 주로 이미지에서 객체를 분리하거나 추적할 때 사용됩니다. OpenCV에서 findContours 함수를 이용해 윤곽선을 검출할 수 있습니다. 윤곽선은 연속된 경계의 좌표 목록으로 반환되며, 이를 활용해 윤곽선을 그리거나 특정 모양을 검출할 수 있습니다.Import packagesimport cv2import numpy as npimport matplotlib.pyplot as pltFunction to Display Images in Jupyter NotebookJupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의합니다.def img_show(title='image', img=None, ..
[OpenCV] Basic 12 - 이미지 필터 (Filters) 적용
[OpenCV] Basic 12 - 이미지 필터 (Filters) 적용
2024.11.20이미지 필터는 이미지에 다양한 효과를 적용하거나, 특정 특징을 강조하고 노이즈를 제거하는 데 사용됩니다. OpenCV는 여러 가지 필터를 제공하며, 상황에 따라 적절한 필터를 선택해 이미지를 처리할 수 있습니다. 기본적으로 많이 사용하는 필터에는 블러링 필터와 샤프닝 필터, 엠보싱 필터가 있습니다.Import packagesimport cv2import numpy as npimport matplotlib.pyplot as pltFunction to Display Images in Jupyter NotebookJupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의합니다.def img_show(title='image', img=None, figsize..
[OpenCV] Basic 11 - 이미지 히스토그램 (Histogram) 분석
[OpenCV] Basic 11 - 이미지 히스토그램 (Histogram) 분석
2024.11.19이미지 히스토그램은 이미지에서 색상 분포나 밝기 정보를 시각적으로 표현한 그래프입니다. 히스토그램을 분석하면 이미지의 명도, 대비, 색상 정보를 알 수 있어 이미지 처리에서 중요한 역할을 합니다. 예를 들어, 히스토그램을 사용해 이미지의 밝기나 대비를 조정할 수 있습니다.Import packagesimport cv2import numpy as npimport matplotlib.pyplot as pltFunction to Display Images in Jupyter NotebookJupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의합니다.def img_show(title='image', img=None, figsize=(8, 5)): pl..
[OpenCV] Basic 10 - 이미지 색상 변환 (Color Conversion)
[OpenCV] Basic 10 - 이미지 색상 변환 (Color Conversion)
2024.11.16이미지 색상 변환은 이미지를 다양한 색상 공간으로 변환하여 처리할 수 있도록 하는 작업입니다. OpenCV에서는 여러 색상 공간(BGR, RGB, Grayscale, HSV, Lab 등)을 지원하며, 상황에 따라 적절한 색상 공간을 선택해 이미지 분석이나 필터링 작업을 수행할 수 있습니다. 특히 색상 공간 변환은 색상 추출, 객체 탐지, 이미지 분할 등에 유용합니다.Import packagesimport cv2import matplotlib.pyplot as pltFunction to Display Images in Jupyter NotebookJupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의합니다.def img_show(title='imag..
[OpenCV] Basic 9 - 이미지 경계선 검출 (Edge Detection)
[OpenCV] Basic 9 - 이미지 경계선 검출 (Edge Detection)
2024.11.15경계선 검출(Edge Detection)은 이미지에서 물체의 윤곽선을 찾아내는 방법입니다. 이미지 내에서 밝기가 급격히 변하는 부분을 탐지하여 객체의 형태를 추출할 수 있습니다. OpenCV에서는 여러 가지 경계선 검출 기법을 제공합니다. 대표적으로 Canny Edge Detection과 Sobel Filter가 많이 사용됩니다.Import packagesimport cv2import numpy as npimport matplotlib.pyplot as pltFunction to Display Images in Jupyter NotebookJupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의합니다.def img_show(title='image',..
[OpenCV] Basic 8 - 이미지 블러 처리 (Blur)
[OpenCV] Basic 8 - 이미지 블러 처리 (Blur)
2024.11.14Blur(블러)는 이미지를 부드럽게 만들어주는 필터로, 노이즈를 제거하거나 이미지의 중요한 부분을 강조할 때 사용합니다. 예를 들어, 사진에서 배경을 부드럽게 처리하여 피사체에 집중하게 만들고 싶을 때 유용합니다. OpenCV에서는 다양한 블러 방법을 제공합니다.Import packagesimport cv2import numpy as npimport matplotlib.pyplot as pltFunction to Display Images in Jupyter NotebookJupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의합니다.def img_show(title='image', img=None, figsize=(8, 5)): plt.fig..
[ OpenCV ] Basic 7 - 이미지 자르기 (Crop)
[ OpenCV ] Basic 7 - 이미지 자르기 (Crop)
2022.11.21Image Crop Crop은 이미지에서 필요한 이미지의 일부만 잘라내기 위해 사용합니다. 예를들어, 이미지에서 얼굴 영역만 찾아 잘라내는 기능을 개발한다면 Crop을 통해 잘라낼 수 있습니다. Import packages import cv2 import imutils import matplotlib.pyplot as plt Jupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의 def img_show(title='image', img=None, figsize=(8 ,5)): plt.figure(figsize=figsize) if type(img) == list: if type(title) == list: titles = title else: ti..
[ OpenCV ] Basic 6 - 이미지 크기조정 (Resize)
[ OpenCV ] Basic 6 - 이미지 크기조정 (Resize)
2022.03.02Image Resize 고해상도의 이미지는 사람의 눈으로 보기에는 좋아 보이지만 컴퓨터가 연산하거나 이미지 파이프라인 처리에는 좋지 않을 수 있습니다. 이미지가 큰 경우 더 많은 데이터가 필요하기 때문에 알고리즘이 데이터를 처리하는 데 오래 걸리기 때문입니다. 이런 고해상도 이미지는 매우 디테일하지만, 컴퓨터 비전/이미지 처리 관점에서 볼 때 이러한 디테일한 사항보다는 이미지의 구조적 구성 요소가 더 중요하기 때문에 고해상도의 이미지를 다운샘플링하여 더 빠르고 정확하게 실행될 수 있도록 합니다. Import packages import cv2 import imutils import matplotlib.pyplot as plt Jupyter Notebook 및 Google Colab에서 이미지를 표시하고 ..
[ OpenCV ] Basic 5 - 이미지 상하, 좌우 대칭 (Flip)
[ OpenCV ] Basic 5 - 이미지 상하, 좌우 대칭 (Flip)
2022.03.02Image Flip x축 또는 y축을 가로질러 이미지를 뒤집는 방법을 소개하겠습니다. 다시말하자면 이미지를 수평 또는 수직을 기준으로 미러링 이미지로 변환하는 것입니다. Flip은 이미지 데이터를 부풀리기 위해서 사용되기도 합니다. Import packages import cv2 import numpy as np import imutils import matplotlib.pyplot as plt Jupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의 def img_show(title='image', img=None, figsize=(8 ,5)): plt.figure(figsize=figsize) if type(img) == list: if type..
[ OpenCV ] Basic 4 - 이미지 회전 (Rotate)
[ OpenCV ] Basic 4 - 이미지 회전 (Rotate)
2022.03.02Image Rotate 이미지를 특정 각도로 회전하는 방법에 대해 알아보겠습니다. 이미지를 회전할 때에는 회전할 지점을 지정해야 합니다. 대부분의 경우는 이미지의 중심을 기준으로 회전을 하지만 임의의 지점을 지정할 수도 있습니다. Import packages import cv2 import numpy as np import imutils import matplotlib.pyplot as plt Jupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의 def img_show(title='image', img=None, figsize=(8 ,5)): plt.figure(figsize=figsize) if type(img) == list: if type(..
[ OpenCV ] Basic 3 - 이미지 이동 (Shift)
[ OpenCV ] Basic 3 - 이미지 이동 (Shift)
2022.03.02Image Shift OpenCV를 이용하여 이미지를 이동하는 방법에 대해 설명드리겠습니다. imutils를 이용하여 간단하게 이미지를 이동 할 수 있지만 기본이 되는 affine transformation matrix (cv2.warpAffine)을 사용하는 방법을 포함하여 설명드리도록 하겠습니다. affine transformation matrix 이라고 하는 2 x 3 행렬을 정의해야 합니다. 이 행렬은 이미지가 왼쪽 또는 오른쪽으로 몇 픽셀을 이동될 것인지, 또는 이미지를 위 또는 아래로 몇 픽셀이 이동할 것인지 정의합니다. 음수 t{x} 값은 이미지를 왼쪽 으로 이동 양수 t{x} 값은 이미지를 오른쪽 으로 이동 음수 t{y} 값은 이미지 를 위로 이동 양수 t{y} 값은 이미지 를 아래로 이동..