OpenCV의 imwrite() 함수

Manav Narula 2023년10월10일
  1. OpenCV 라이브러리에서 imwrite() 함수 사용
  2. 결론
OpenCV의 imwrite() 함수

이미지는 Python에서 numpy.ndarrays로 처리되며 이러한 배열은 3차원이며 이미지 픽셀의 값을 나타냅니다. 다양한 라이브러리와 방법을 사용하여 Python에서 이미지를 효율적으로 읽고 처리할 수 있습니다.

그러한 라이브러리 중 하나는 기능과 클래스를 사용하여 이미지를 쉽게 처리할 수 있는 OpenCV 라이브러리입니다. 이 튜토리얼에서는 OpenCV 라이브러리의 imwrite() 함수를 사용하는 방법을 보여줍니다.

OpenCV 라이브러리에서 imwrite() 함수 사용

imwrite() 함수는 이미지를 지정된 경로 위치에 저장합니다. 논의한 바와 같이 이미지는 배열로 저장되며 이 기능을 사용하여 이러한 이미지를 장치에 내보내고 저장할 수 있습니다.

세 개의 매개변수를 허용합니다. 첫 번째 매개변수에는 경로와 함께 파일 이름이 포함됩니다. 이미지가 저장되는 형식(PNG, JPEG 등)은 파일 이름에 지정되어야 합니다.

두 번째 매개변수에는 저장해야 하는 필수 이미지가 포함됩니다. 이 이미지는 numpy.ndarray 객체여야 합니다. 이미지 파일이 제대로 저장되면 imwrite() 함수는 True를 반환합니다. 그렇지 않으면 False를 반환합니다.

예제 코드:

import cv2

i = cv2.imread("deftstack.png")
img = cv2.cvtColor(i, cv2.COLOR_BGR2HSV)
cv2.imwrite("save.png", img)

출력:

True

위의 예에서 imread() 함수를 사용하여 주어진 이미지를 읽습니다. 그런 다음 cvtColor 기능을 사용하여 이미지에 대한 작업을 수행합니다(RGB 색상 공간에서 HSV 색상 공간으로 변환).

마지막으로 imwrite() 함수를 사용하여 이 이미지를 지정된 디렉토리에 저장합니다. 파일의 이미지 형식은 PNG이며 BMP, JPEG, WebP 등과 같이 지원되는 모든 형식을 사용할 수 있습니다.

기억해야 할 또 다른 사항은 이 기능이 몇 가지 예외를 제외하고는 8비트 단일 채널 또는 BGR 순서 3채널 이미지만 저장한다는 것입니다. 이러한 예외에는 16비트 무부호, 32비트 부동 소수점, 여러 이미지의 Map 벡터 및 일부 허용된 형식으로만 저장할 수 있는 알파 채널이 있는 PNG 이미지가 포함됩니다.

지원되지 않는 모든 형식은 자동으로 8비트 서명되지 않은 이미지로 변환됩니다.

결론

이 튜토리얼에서는 opencv 라이브러리의 imwrite() 함수에 대해 논의했습니다. 우리는 이 함수가 매개변수를 받아들이는 방법과 파이썬에서 이미지를 저장하는 데 사용할 수 있는 방법을 시연했습니다.

또한 이 기능이 사용할 수 있는 이미지 형식과 지원되지 않는 형식을 처리하는 방법에 대해서도 논의했습니다.

작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn