2021 년 이미지 처리 에 사용 되 는 최신 Python 라 이브 러 리 요약
OpenCV 는 가장 유명 하고 응용 이 광범 위 한 소스 라 이브 러 리 중 하나 로 이미지 처리,목표 검 측,얼굴 검 측,이미지 분할,얼굴 인식 등 컴퓨터 시각 임무 에 사용 된다.그 밖 에 기계 학습 임무 에 도 사용 할 수 있다.
이것 은 인텔 이 2002 년 에 개발 한 것 이다.C++로 작 성 됐 지만 개발 자 들 은 Python 과 자바 바 인 딩 을 제공 했다.그것 은 읽 고 사용 하기 쉽다.
컴퓨터 시각 과 머 신 러 닝 모델 을 만 들 기 위해 OpenCV 에는 2 천 500 개가 넘 는 알고리즘 이 있다.이런 알고리즘 은 얼굴 인식,목표 검출 등 각종 임 무 를 수행 하 는 데 매우 유용 하 다.OpenCV 를 사용 하여 실행 할 수 있 는 예 시 를 보 여 줍 니 다.
그 레이스 케 일 크기 조정
그 레이스 케 일 크기 조정 은 3 채널 이미지(예:RGB,HSV 등)를 단일 채널 이미지(즉 그 레이스 케 일)로 변환 하 는 방법 이다.최종 그림 은 전체 흰색 과 전체 검은색 사이 에서 변화 한다.그 레이스 케 일 크기 의 중요성 은 내 림 차원(3 채널 이미 지 를 단일 채널 이미지 로 변환),모델 의 복잡 도 를 낮 추 는 등 을 포함한다.
다음 코드 세 션 은 OpenCV 의 그 레이스 케 일 크기 를 보 여 줍 니 다.
import cv2 as cv
img = cv.imread('example.jpg')
cv.imshow('Original', img)
cv.waitKey()
#Use cvtColor, to convert to grayscale
gray_img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
cv.imshow('Grayscale', gray_img)
cv.waitKey(0)
그림 회전
OpenCV 는 0 에서 360 도의 임의의 각도 에서 그림 을 회전 시 키 는 데 도움 이 된다.
그림 을 180 도 회전 시 키 기 위해 다음 코드 를 검사 하 십시오.
import cv2 as cv
import matplotlib.pyplot as plt
img = cv.imread('example.jpg')
h, w = image.shape[:2]
rot_matrix = cv.getRotationMatrix2D((w/2,h/2), -180, 0.5)
rot_image = cv.warpAffine(img, rot_matrix, (w, h))
plt.imshow(cv.cvtColor(rot_image, cv.COLOR_BGR2RGB))
OpenCV 는 우리 가 지금까지 논의 한 기능 을 제외 한 다른 기능 도 제공한다.그 밖 에 얼굴 검 측,이미지 분할,특징 추출,목표 검 측,3 차원 재 구축 등에 도 도움 이 된다.
더 많은 정보 에 대해 서 는 공식 문 서 를 보십시오https://opencv.org/
2.Scikit-image
Scikit Image 는 또 다른 위대 한 오픈 소스 이미지 처리 라 이브 러 리 입 니 다.그것 은 거의 모든 컴퓨터 시각 임무 에 적용 된다.그것 은 가장 간단 하고 직접적인 창고 중의 하나 이다.이 라 이브 러 리 의 일부분 은 Cython 으로 작 성 된 것 입 니 다.
그것 은 분할,색채 공간 조작,기하학 적 변환,필터,형태학,특징 검 측 등 대량의 알고리즘 을 제공 했다.
Scikit Image 는 그림 의 대상 으로 Numpy 배열 을 사용 합 니 다.scikit 그림 에서 활동 윤곽 작업 을 수행 하 는 방법 을 보 여 줍 니 다.활성 윤곽 은 그림 의 모양 경 계 를 설명 합 니 다.
다음 활동 윤곽 조작 코드 검사:
import numpy as np
import matplotlib.pyplot as plt
from skimage.color import rgb2gray
from skimage import data
from skimage.filters import gaussian
from skimage.segmentation import active_contour
image = data.astronaut()
# Data for circular boundary
s = np.linspace(0, 2*np.pi, 400)
x = 220 + 100*np.cos(s)
y = 100 + 100*np.sin(s)
init = np.array([x, y]).T
# formation of the active contour
centre = active_contour(gaussian(image, 3),init, alpha=0.015, beta=10, gamma=0.001)
figure, axis = plt.subplots(1, 2, figsize=(7, 7))
ax[0].imshow(image, cmap=plt.cm.gray)
ax[0].set_title("Original Image")
ax[1].imshow(image, cmap=plt.cm.gray)
더 많은 정보 에 대해 서 는 공식 문 서 를 보십시오https://scikit-image.org/docs/stable/auto_examples/
3.Scipy
Scipy 는 주로 수학 과 과학 계산 에 사용 되 지만 서브 모듈 Scipy.ndimage 를 사용 하여 기본 적 인 이미지 조작 과 작업 을 처리 할 수도 있 습 니 다.
결국 그림 은 다 차원 배열 일 뿐,Scipy 는 n 차원 Numpy 작업 을 위 한 함 수 를 제공 합 니 다.Scipy 는 얼굴 검사,볼 륨,이미지 분할,이미지 읽 기,특징 추출 등 기본 적 인 이미지 처리 작업 을 제공 합 니 다.
이외에 도 필 터 를 실행 하여 그림 에 윤곽선 을 그 릴 수 있다.
Scipy 퍼 지 그림 을 사용 하려 면 다음 코드 를 확인 하 십시오.
from scipy import ndimage, misc
from matplotlib import pyplot as plt
f = misc.face()
b_face = ndimage.gaussian_filter(f, sigma=3)
figure, axis = plt.subplots(1, 2, figsize=(16, 8))
더 많은 정보 에 대해 서 는 공식 문 서 를 보십시오https://docs.scipy.org/doc/scipy/reference/ndimage.html
4.파 이 썬 이미지 라 이브 러 리(Pillow/PIL)
이것 은 이미지 처리 작업 에 사용 되 는 오픈 소스 python 라 이브 러 리 입 니 다.필터,열기,조작,저장 등 다른 라 이브 러 리 에서 제공 하지 않 는 특수 기능 을 제공 합 니 다.이 라 이브 러 리 는 여러 가지 파일 형식 을 지원 하여 더욱 효율 적 이다.PIL 은 이미지 처리,이미지 디 스 플레이,이미지 압축 파일 등의 기능 도 지원 한다.Pillow/PIL 을 사용 한 이미지 증강 을 살 펴 봅 시다.
그림 의 선명 도 변경:
더 많은 정보 에 대해 서 는 공식 문 서 를 보십시오https://pillow.readthedocs.io/en/stable/index.html
5.Matplotlib
Matplotlib 는 주로 산 점도,막대 그래프,직사 도 등 2 차원 시각 화 에 사용 되 지만 이미지 처리 에 도 사용 할 수 있 습 니 다.그림 에서 정 보 를 추출 하 는 것 이 효과 적 입 니 다.그것 은 모든 파일 형식 을 지원 하지 않 습 니 다.
배경 색 변경 작업 후 다음 그림 을 확인 하 십시오:
더 많은 정보 에 대해 서 는 공식 문 서 를 보십시오https://matplotlib.org/stable/tutorials/introductory/images.html
6.SimpleITK
그것 은 이미지 분할 과 등록 도구 패키지 라 고도 부른다.이것 은 이미지 등록 과 이미지 분할 에 사용 되 는 소스 라 이브 러 리 입 니 다.OpenCV 와 같은 라 이브 러 리 는 그림 을 하나의 배열 로 보지 만 이 라 이브 러 리 는 그림 을 공간의 한 영역 에 있 는 한 그룹 으로 봅 니 다.다음 예제 검사:
이미지 분할
더 많은 정보 에 대해 서 는 공식 문 서 를 보십시오.https://itk.org/
7.Numpy
이것 은 수치 분석 에 사용 되 는 오픈 소스 python 라 이브 러 리 입 니 다.그것 은 데이터 구조 로 행렬 과 다 차원 배열 을 포함한다.그러나 NumPy 는 이미지 재단,픽 셀,픽 셀 값 을 조작 하 는 몽 판 등 이미지 처리 작업 에 도 사용 할 수 있 습 니 다.
그림 에서 녹색/빨간색/파란색 채널 을 추출 하려 면 다음 그림 을 확인 하 십시오.
더 많은 정보 에 대해 서 는 공식 문 서 를 보십시오https://scikit-image.org/docs/dev/user_guide/numpy_images.html
8.Mahotas
그것 은 컴퓨터 시각 과 이미지 처리 에 사용 되 는 또 다른 오픈 소스 python 라 이브 러 리 입 니 다.그것 은 생물 정보 학 을 위해 설계 한 것 이다.이것 은 많은 알고리즘 을 제공 합 니 다.이 알고리즘 들 은 C++로 작 성 된 것 입 니 다.속도 가 빠 르 고 좋 은 Python 인 터 페 이 스 를 사 용 했 습 니 다.그림 을 NumPy 배열 로 읽 고 기록 합 니 다.
Mahotas 를 사용 하여 아래 템 플 릿 이 그림 과 일치 하 는 지 확인 합 니 다.
더 많은 정보 에 대해 서 는 공식 문 서 를 보십시오https://mahotas.readthedocs.io/en/latest/#
2021 년 이미지 처리 에 사 용 될 Python 라 이브 러 리 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 Python 이미지 처리 상용 라 이브 러 리 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.