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

파이썬에서 이미지 처리?

<시간/>

Python은 −

를 포함하여 이미지 처리를 위한 많은 라이브러리를 제공합니다.
  • OpenCV − 2D 및 3D 기능 툴킷, 얼굴 및 제스처 인식, 인간-컴퓨터 상호 작용, 모바일 로봇 공학, 물체 식별 등과 같은 광범위한 영역에서 응용 프로그램과 함께 주로 실시간 컴퓨터 비전에 중점을 둔 이미지 처리 라이브러리.

  • Numpy 및 Scipy 라이브러리 − 이미지 조작 및 처리용입니다.

  • 스키킷 − 이미지 처리를 위한 많은 알고리즘을 제공합니다.

  • Python 이미징 라이브러리(PIL) − 축소판 만들기, 크기 조정, 회전, 다른 파일 형식 간 변환 등과 같은 이미지에 대한 기본 작업을 수행합니다.

이 섹션에서는 파이썬에서 이미지 처리의 몇 가지 기본 사항을 볼 것입니다.

필수 라이브러리 설치

첫 번째 단계는 openCV, 베개 또는 이미지 처리에 사용하려는 기타 라이브러리를 설치하는 것입니다. pip를 사용하여 −

와 같이 필요한 라이브러리를 설치할 수 있습니다.
$pip install pillow

그게 다야:이제 이미지를 가지고 놀 수 있습니다.

이미지:Open() 및 show()

먼저 파일/이미지를 열고 보여줍니다. 아래와 같이 표시하면서 이미지를 회전할 수 있습니다 -

#Import required library
from PIL import Image

#Open Image
im = Image.open("TajMahal.jpg")

#Image rotate & show
im.rotate(45).show()

출력

파이썬에서 이미지 처리?

위의 변수 im은 베개 객체입니다. 열린 이미지에 대한 일부 정보를 검색할 수 있습니다. −

>>> im
<PIL.JpegImagePlugin.JpegImageFile image mode = RGB size = 1000x667 at 0x65AB990<
>>> im.size
(1000, 667)
>>> im.format
'JPEG'
>>>

이미지 변환 및 저장()

아래와 같이 이미지 형식을 한 형식에서 다른 형식으로 변경할 수 있습니다. -

>>> im.save('TajMahal.png')

이제 폴더가 표시되면 동일한 이미지가 두 가지 다른 형식으로 표시됩니다.

썸네일 크기 조정()

베개의 thumbnail() 메서드를 사용하여 이미지의 크기를 변경할 수 있습니다 -

>>> im.thumbnail ((300, 300))
>>> im.show()

이미지가 다음과 같이 변경됩니다.

파이썬에서 이미지 처리?

회색조 이미지로 변환 - convert()

원래 컬러 이미지에서 회색조 이미지를 만들 수 있습니다.

>>> TajMahal_gray = Image.open('TajMahal.jpg').convert('L')
>>> TajMahal_gray.show()

여기서 "L"은 '빛나는'을 의미합니다.

파이썬에서 이미지 처리?


위의 예는 Python의 PIL 라이브러리에서 가져온 것입니다. 이미지 처리를 위해 open-cv, matplotlib 및 numpy와 같은 다른 라이브러리를 사용할 수 있습니다. 다음은 이미지 처리를 위해 훨씬 강력한 라이브러리를 사용하는 방법을 보여주는 몇 가지 예제 프로그램입니다.

회색조로 이미지 표시

#Import required library
import cv2
import numpy as np
from matplotlib import pyplot as plt

im = cv2.imread('TajMahal.jpg',cv2.IMREAD_GRAYSCALE)
cv2.imshow('image',im)
cv2.waitKey(0)
cv2.destroyAllWindows()

출력

파이썬에서 이미지 처리?

위의 프로그램을 틱/라인으로 작성하여 이미지를 표시하는 또 다른 방법입니다.

import cv2
import numpy as np
from matplotlib import pyplot as plt

im = cv2.imread('TajMahal.jpg',cv2.IMREAD_GRAYSCALE)

plt.imshow(im, cmap = 'gray', interpolation = 'bicubic')
# to hide tick values on X and Y axis
plt.xticks([]), plt.yticks([])
plt.plot([200,300,400],[100,200,300],'c', linewidth = 5)
plt.show()

출력

파이썬에서 이미지 처리?