Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 scikit-learn을 사용하여 이미지의 윤곽을 찾는 방법은 무엇입니까?

<시간/>

일반적으로 sklearn으로 알려진 Scikit-learn은 기계 학습 알고리즘을 구현하기 위해 사용되는 Python 라이브러리입니다. 오픈 소스 라이브러리이므로 무료로 사용할 수 있습니다. 이 라이브러리는 Numpy, SciPy 및 Matplotlib 라이브러리를 기반으로 합니다.

'행진 사각형' 방법은 이미지에서 윤곽선을 찾는 데 사용됩니다. skimage' 라이브러리의 'measure' 클래스에 있는 'find_contours' 함수를 사용합니다. 여기서 배열에 있는 값은 선형 방식으로 보간됩니다.

이렇게 하면 출력 이미지의 윤곽 정밀도가 훨씬 더 좋아집니다. 이미지의 윤곽선이 교차하면 윤곽선이 열리고 그렇지 않으면 닫힙니다.

scikit-learn 라이브러리를 사용하여 이미지에서 윤곽선을 찾는 방법을 이해합시다 -

import numpy as np
import matplotlib.pyplot as plt
from skimage import measure
x, y = np.ogrid[-6.7:np.pi:215j, -1.2:np.pi:215j]
r = np.sin(np.exp((np.sin(x)**3 + np.cos(y)**2)))
contours = measure.find_contours(r, 0.8)
fig, ax = plt.subplots()
ax.imshow(r, cmap=plt.cm.gray)
for contour in contours:
ax.plot(contour[:, 1], contour[:, 0], linewidth=2)
ax.axis('Image')
ax.set_xticks([])
ax.set_yticks([])
plt.show()

출력

Python에서 scikit-learn을 사용하여 이미지의 윤곽을 찾는 방법은 무엇입니까?

설명

  • 필요한 패키지를 환경으로 가져옵니다.

  • NumPy 패키지의 도움으로 데이터가 생성됩니다.

  • 'find_contours' 함수는 이미지의 윤곽을 결정하는 데 사용됩니다.

  • 'subplot' 기능은 원본 이미지와 등고선이 있는 이미지를 콘솔에 표시하는 데 사용됩니다.