[OpenCV] 이미지 읽기, 표시 및 쓰기
이미지를 읽고, 표시하고, 쓰는 것은 이미지 처리 및 컴퓨터 비전의 기본이다. 자르기, 크기 조정, 회전 또는 다른 필터를 적용하여 이미지를 처리하는 경우에도 먼저 이미지를 읽어야 한다. 따라서 이러한 기본 작업에 대해 알아야 할 것 같아서 먼저 알아보려 한다.
세계에서 가장 큰 컴퓨터 비전 라이브러리인 OpenCV에는 다음 아래와 같은 세 가지 내장 기능이 있다.
- imread()이미지를 읽을 때 사용된다.
- imshow()창에 이미지를 표시한다.
- imwrite()파일 디렉토리에 이미지를 저장한다.
이미지 읽기
이미지를 읽기 위해서는 OpenCV의 imread()
기능을 사용한다.
imread(file_name, flags)
다음과 같이 두 가지 인수가 필요하다.
file_name
파일에 대한 완전한 경로를 포함한 이미지 이름이다.
ex) "c:/folder/test.png"
flags
이미지를 표현하는 방법을 지정할 수 있는 선택적 flag다.
플래그의 기본값은 1이며 컬러 이미지로 읽는다. 특정 형식의 이미지를 읽으려면 적절한 플래그를 지정하기만 하면 된다. 더 다양한 플래그 옵션은 여기서 보면 된다.
- flags 옵션
cv2.IMREAD_UNCHANGED
또는 -1cv2.IMREAD_GRAYSCALE
또는 0cv2.IMREAD_COLOR
또는 1
OpenCV는 BGR 형식의 컬러 이미지를 읽는 반면 대부분의 다른 컴퓨터 비전 라이브러리는 RGB 채널 형식 순서를 사용한다. 따라서 다른 툴킷과 함께 OpenCV를 사용할 때, 또는 한 라이브러리에서 다른 라이브러리로 전환할 때 파란색과 빨간색 채널을 바꾸는 것을 잊으면 안된다.
이미지 표시
이미지를 표시할 때 OpenCV에서는 imshow()
기능을 사용한다.
imshow(window_name, image)
이 함수 또한 두 가지의 인수를 필요로 한다.
- window_name : 창에 표시될 창의 이름이다.
- image : 창에 표시하려는 이미지이다.
한 번에 여러 이미지를 표시하려면 표시하려는 모든 이미지에 대해 새 창 이름을 지정해야 한다.
imshow()는 waitKey()
, destroyAllWindows()
, destroyWindow()
기능과 함께 사용하도록 설계되어 있다.
waitKey()
키보드 바인딩 기능이다.
- 창이 표시될 시간(milliseconds)인 단일 인수를 사용한다.
- 사용자가 이 시간 내에 아무 키나 누르면 프로그램이 계속된다.
- 0이 전달되면 프로그램은 키 입력을 무기한 기다린다.
- 키보드의 Q 키 또는 ESC 키와 같은 특정 키 입력을 감지하도록 기능을 설정할 수 있다.
destroyWindow(window_name)
특정 창을 파괴해야 하는 경우 정확한 창 이름을 인수로 지정하여 사용할 수 있다.
destroyAllWindows()
우리가 만든 모든 창을 없앤다. 시스템의 주 메모리에서 창이나 이미지도 지워진다.
이미지 쓰기
파일 디렉토리에 이미지를 쓰거나 저장할 땐 OpenCV에서는 imwrite()
기능을 사용한다.
imwrite(file_name, image)
-
file_name : 파일 이름. 파일 이름 확장자를 포함해야 한다(.png, .jpg 등)
OpenCV는 이 파일 이름 확장자를 사용하여 파일 형식을 지정한다. -
image : 저장하려는 이미지. 이미지가 성공적으로 저장되면 True가 반환된다.
Author And Source
이 문제에 관하여([OpenCV] 이미지 읽기, 표시 및 쓰기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@rlath/OpenCV-이미지-읽기-표시-및-쓰기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)