Program/OPEN_CV

[Open CV] OpenCV-Python 시작하기 _ Matplotlib 사용하여 영상 출력하기

사막여유 2022. 4. 23. 19:34
728x90

2022.04.23 금일은 Open CV의 Matplotlib라는 라이브러리에 대한 강의였다.

 

일단 Matplotlib이라는 라이브러리가 무엇인지부터 살펴봐야 할 것 같다.

 

Matplotlib라이브러리는 함수의 결과값을 그래프, 차트, 히스토그램등으로 쉽게 그려줄 수 있도록

도와줄 수 있는Python 패키지이다 

 

이를 이용하기 위해서는 이 전에 했었던 방법대로 하면 되는데

커맨드창에 pip install matplotlib라고 입력해주면 네트워크에 자동으로 연결되어 해당 라이브러리를

다운받아 올 수 있다.

위와같은 창이 뜨면 해당 라이브러리가 정상적으로 설치되었다는 뜻이다.

 

이후 중요한 건 영상을 로드할 때 GrayScale 영상인지 TrueColor 영상인지에 따라 Matplotlib 사용방법이 달라지는데

 

Color 영상일때는

OpenCV에서 영상을 로딩하게되면 (imread) 컬러 영상의 색상 정보가 B - G - R 순서로 로드되는데

Matplotlib를 사용하기 위해서는 색상정보가 R - G - B 순서여야 한다.

따라서 OpenCV에서 제공하는 cv2.cvtColor()라는 함수를 사용하여 B- G- R 순서를 R - G - B 순서로 바꿔줘야한다.

 

GrayScale 영상일때는

plt.imshow()함수에서 컬러맵을 cmap='gray'로 지정하여 로드해야한다.

 

실제로 파일을 로드하는 함수이다

 

위 이미지처럼 이미지를 로드하여 RGB로 컨버터 해준다.

이후 plt라는 matplotlib라이브러리를 plt라는 이름으로 간소화하여 사용할 수 있는데

plt.axis는 아래이미지에서 볼 수 있듯이 그래프의 축을 볼지 보지않을지 결정해주는 기능이다

 

그리고 컨버터를 안해주게되면 아래와같이 Red색상이 Blue로 변환되어 더 파란계열이 강해지는 현상이 발생한다.

 

GrayScale 함수는 ColorMap을 밝기값만을 가지고 변환시켜주는 함수이다.

 

마지막으로 한 창에 두개의 이미지를 동시에 띄울 수 있는데 

plt.subplot이라는 함수를 사용하면 된다.

plt.subplot(121) 1행에다 표현하고 2개의 열로 나누고 그중에 1번째 열에 그림을 그려라

라는 아래 이미지와 같은 형식으로 사용할 수 있다.

 

 

이렇게 2개의 이미지를 표현하고싶을때에는 SubPlot함수를 사용할 수 있다.

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

https://bit.ly/3L3avNW

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

728x90