opencv_imgproc 기능 25가지

opencv_imgproc 기능 25가지

opencv_imgproc는 OpenCV(Open Source Computer Vision Library)의 imgproc 모듈입니다. 이 모듈은 이미지 프로세싱과 관련된 다양한 함수와 알고리즘을 제공합니다. 주요 기능으로는 이미지 필터링, 변환, 이진화, 모서리 검출, 컬러 공간 변환 등이 있습니다.

opencv_imgproc

설명

  • opencv_imgproc 모듈에는 이미지의 히스토그램 분석, 모서리 강도 추정, 컨투어 검출 등 다양한 기능과 알고리즘이 있습니다. 이미지 처리, 컴퓨터 비전, 패턴 인식 등 다양한 영역에서 활용됩니다.

opencv_imgproc 주요 기능

  1. 이미지 필터링(Filtering):
    • cv2.filter2D: 2D 필터를 이용하여 이미지에 커널을 적용합니다. 주로 블러링, 샤프닝, 엣지 감지 등에 사용됩니다.
    • cv2.blur, cv2.boxFilter: 주변 픽셀의 평균 값을 사용하여 이미지를 흐리게 만듭니다.
    • cv2.GaussianBlur: 가우시안 커널을 사용하여 이미지를 흐리게 만듭니다.
    • cv2.medianBlur: 중간값 필터를 사용하여 소금-후추 잡음을 제거합니다.
  2. 이미지 변환(Transformations):
    • cv2.resize: 이미지의 크기를 조정합니다.
    • cv2.warpAffine, cv2.getAffineTransform: 이미지를 회전, 이동, 크기 조정 등의 변환을 적용합니다.
    • cv2.warpPerspective, cv2.getPerspectiveTransform: 원근 변환을 통해 이미지를 왜곡시킵니다.
  3. 이진화(Binarization):
    • cv2.threshold: 이미지를 이진화합니다. 임계값을 기준으로 픽셀 값을 분류하여 픽셀 값을 0 또는 255로 설정합니다.
  4. 모서리 검출(Edge Detection):
    • cv2.Canny: 이미지에서 모서리를 검출합니다. Canny 엣지 검출 알고리즘을 사용합니다.
    • cv2.Sobel, cv2.Laplacian: 이미지에서 엣지를 검출하기 위해 소벨 또는 라플라시안 필터를 적용합니다.
  5. 컬러 공간 변환(Color Space Conversion):
    • cv2.cvtColor: 이미지의 컬러 공간을 변환합니다. 주로 BGR과 RGB 간의 변환, 그레이스케일로의 변환 등에 사용됩니다.
  6. 이미지 히스토그램 분석(Histogram Analysis):
    • cv2.calcHist: 이미지의 히스토그램을 계산합니다. 픽셀 강도 분포를 확인하고 이미지의 명암 대비를 개선하는 데 사용됩니다.
    • cv2.equalizeHist: 이미지의 히스토그램을 평활화하여 전체 명암 범위를 활용합니다.
  7. 컨투어 검출(Contour Detection):
    • cv2.findContours: 이미지에서 객체의 외곽선을 검출합니다. 이진화된 이미지나 엣지 검출 결과에서 주로 사용됩니다.
    • cv2.drawContours: 찾은 컨투어를 이미지에 그립니다. 객체의 외곽선을 시각화하는 데 사용됩니다.
  8. 색공간 변환(Color Space Conversion):
    • cv2.cvtColor: 이미지의 컬러 공간을 변환합니다. 주로 BGR과 RGB 간의 변환, 그레이스케일로의 변환 등에 사용됩니다.
  9. 텍스트 그리기(Drawing Text):
    • cv2.putText: 이미지에 텍스트를 그립니다. 폰트, 크기, 색상 등을 지정하여 이미지에 텍스트를 추가할 수 있습니다.
  10. 형태 변환(Morphological Transformations):
    • cv2.erode: 이미지에서 작은 객체를 제거하거나 객체 경계를 침식시킵니다.
    • cv2.dilate: 이미지에서 객체를 팽창시키거나 객체 경계를 확장시킵니다.
    • cv2.morphologyEx: 침식, 팽창, 열기, 닫기 등의 형태 변환 연산을 수행합니다.
  11. 허프 변환(Hough Transform):
    • cv2.HoughLines: 선 형태의 객체를 검출합니다. 주로 엣지 이미지에서 직선을 검출하는 데 사용됩니다.
    • cv2.HoughCircles: 원 형태의 객체를 검출합니다. 주로 엣지 이미지에서 원을 검출하는 데 사용됩니다.
  12. 코너 검출(Corner Detection):
    • cv2.cornerHarris: 이미지에서 코너(모서리)를 검출합니다. 코너는 이미지에서 구조적인 변화를 나타내는 중요한 지점입니다.
  13. 특징점 검출(Feature Point Detection):
    • cv2.goodFeaturesToTrack: 이미지에서 관심 있는 특징점을 검출합니다. 주로 특징 기반 이미지 매칭 등에 사용됩니다.
  14. 컨투어 특징 추출(Contour Features Extraction):
    • cv2.moments: 컨투어의 특징을 추출합니다. 객체의 면적, 중심, 경계 사각형 등을 계산할 수 있습니다.
  15. 이미지 분할(Image Segmentation):
    • cv2.watershed: 이미지를 서로 다른 객체 또는 영역으로 분할합니다. 주로 이미지에서 객체를 분리하거나 영역을 식별하는 데 사용됩니다.
  16. 이미지 피라미드(Image Pyramids):
    • cv2.pyrUp, cv2.pyrDown: 이미지를 다운샘플링하거나 업샘플링하여 이미지 피라미드를 생성합니다. 다양한 해상도에서 이미지를 처리하고 분석하는 데 사용됩니다.
  17. 색공간 분할(Color Space Segmentation):
    • cv2.inRange: 이미지에서 지정된 범위 내의 픽셀을 선택하여 이진 마스크를 생성합니다. 색공간에서 특정 색상을 분할하는 데 사용됩니다.
  18. 템플릿 매칭(Template Matching):
    • cv2.matchTemplate: 작은 템플릿 이미지를 대상 이미지에서 검색하여 일치하는 영역을 찾습니다. 객체 검출이나 이미지 분석에 사용됩니다.
  19. 윤곽선 근사화(Approximation of Contours):
    • cv2.approxPolyDP: 컨투어의 근사 윤곽선을 계산합니다. 곡선 형태의 컨투어를 직선 또는 다각형으로 근사화할 수 있습니다.
  20. 배경 제거(Background Subtraction):
    • cv2.createBackgroundSubtractorMOG2: 비디오에서 움직이는 객체를 분리하기 위해 배경을 제거합니다. 움직이는 객체를 감지하고 추적하는 데 사용됩니다.
  21. 허프 변환을 기반으로한 직선 검출(Line Detection based on Hough Transform):
    • cv2.HoughLinesP: 엣지 이미지에서 직선을 검출합니다. cv2.HoughLines와 달리 선분 형태로 검출되어 좀 더 정확한 결과를 제공합니다.
  22. 다각형 그리기(Drawing Polygons):
    • cv2.polylines: 이미지에 다각형을 그립니다. 다각형의 꼭짓점 좌표를 전달하여 다각형을 그릴 수 있습니다.
  23. 경계 사각형 그리기(Drawing Bounding Rectangles):
    • cv2.rectangle: 이미지에 경계 사각형을 그립니다. 객체의 외곽선에 대한 경계 상자를 그릴 수 있습니다.
  24. 색 채우기(Filling Colors):
    • cv2.floodFill: 이미지의 특정 점을 기준으로 주변 영역을 특정 색상으로 채웁니다. 주로 이미지 분할이나 객체 분리에 사용됩니다.
  25. 텍스트 영역 검출(Text Area Detection):
    • cv2.textarea: 이미지에서 텍스트 영역을 검출합니다. OCR(광학 문자 인식) 등 텍스트 기반 작업에 유용합니다.

참고 사이트

  • OpenCV Library의 전반적인 소개는 여기 링크를 참고하시기 바랍니다.
  • OpenCV 튜토리얼은 아래 링크로 들어가시면 됩니다.

https://docs.opencv.org/4.x/d9/df8/tutorial_root.html

  • OpenCV 공식 홈페이지는 아래 링크에 있습니다.


Opencv 책이 필요하신 분들은 아래 링크를 참고바랍니다.

OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝, 길벗 [인사이트]파이썬으로 만드는 OpenCV 프로젝트, 인사이트 C#과 파이썬을 활용한 OpenCV 4 프로그래밍, 위키북스 알짜배기 예제로 배우는 OpenCV:파이썬과 C++로 마스터하는 OpenCV 프로그래밍, 비제이퍼블릭 OpenCV-Python으로 배우는 영상처리 및 응용, 생능출판사, 9788970504414, 정성환,배종욱 공저 OpenCV 4를 활용한 머신러닝 입문:OpenCV 4 파이썬 scikit-learn을 사용해 이미지 처리 앱을, 에이콘출판 비전과 이미지 처리 앱을 만들기 위한 OpenCV 4 마스터, 에이콘출판

“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”

Back to top