python 에서 plt.imshow 와 cv2.imshow 색상 문제 표시

plt.imshowcv2.imshow 으로 같은 그림 을 표시 할 때 색상 차이 가 큰 현상 이 나타 날 수 있 습 니 다.
opencv 의 인 터 페 이 스 는 BGR 을 사용 하고 matplotlib.pyplot 은 RGB 모드 이기 때문이다.

import cv2 
import numpy as np 
import matplotlib.pyplot as plt 
 
img = cv2.imread('lena_std.tif') 
b,g,r = cv2.split(img) 
img2 = cv2.merge([r,g,b]) 
plt.subplot(121);plt.imshow(img) 
plt.subplot(122);plt.imshow(img2) 
plt.show() 
 
cv2.imshow('bgr image',img) 
cv2.imshow('rgb image',img2) 
cv2.waitKey(0) 
cv2.destroyAllWindows()
프로그램 실행 결 과 는 다음 과 같 습 니 다.
Matplotlib 결과 표시

OpenCV 결과 표시

cv2.imshow()와 plt.imshow()의 차 이 를 살 펴 보 겠 습 니 다.
  • plt.show()는 언제 사용 합 니까?cv2.imshow()는 언제 사용 합 니까?
  • 읽 은 그림 을 보 여주 거나 읽 은 그림 을 일련의 조작 한 그림 을 보 여 주 려 면 cv2.imshow()
  • 을 사용 하 십시오.
  • 원본 그림 을 보 여주 지 않 고 새로운 그림 을 그 릴 필요 가 없다 면 plt.imshow()
  • 을 사용 하 십시오.
  • 은 둘 다 가능 하지만 주의해 야 할 것 은 opencv 는 BGR 채널 입 니 다.plt 기본 RGB 채널 입 니 다.cv2.imread()로 그림 을 읽 으 면 plt.imshow()로 원본 그림 을 보 여주 거나 읽 기 그림 을 일련의 조작 한 그림 을 보 여줄 때 채널 전환 이 필요 합 니 다.
  • 그 레이스 케 일 이미 지 를 보 여줄 때 cv2.imshow('gray',gray)
  • plt.imshow(gray,cmap=‘gray'), plt.title(‘gray')
  • plt.imshow 와 cv2.imshow 의 색상 표시 문제 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 plt.imshow 와 cv2.imshow 의 색상 표시 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 지원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기