반응형
Python OpenCV에서 컬러 이미지를로드하고 똑같이 플로팅하고 있습니다. 그러나 내가 얻은 이미지에는 색상이 모두 섞여 있습니다.
다음은 코드입니다.
import cv2
import numpy as np
from numpy import array, arange, uint8
from matplotlib import pyplot as plt
img = cv2.imread('lena_caption.png', cv2.IMREAD_COLOR)
bw_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
images = []
images.append(img)
images.append(bw_img)
titles = ['Original Image','BW Image']
for i in xrange(len(images)):
plt.subplot(1,2,i+1),plt.imshow(images[i],'gray')
plt.title(titles[i])
plt.xticks([]),plt.yticks([])
plt.show()
다음은 원본 이미지입니다.
그리고 여기에 플로팅 된 이미지가 있습니다.
해결 방법
OpenCV는 BGR을 이미지의 기본 색상 순서로 사용하고 matplotlib는 RGB를 사용합니다. matplotlib에서 OpenCv로로드 된 이미지를 표시하면 채널이 뒤에서 앞으로 표시됩니다.
이를 수정하는 가장 쉬운 방법은 그레이 스케일 이미지를 만들 때와 마찬가지로 OpenCV를 사용하여 명시 적으로 RGB로 다시 변환하는 것입니다.
RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
그리고 그것을 당신의 음모에서 사용하십시오.
참조 페이지 https://stackoverflow.com/questions/39316447
반응형
'파이썬' 카테고리의 다른 글
파이썬 정규식 일치 수 (0) | 2020.10.31 |
---|---|
파이썬 Nonetype을 정수 또는 문자열로 변환하는 방법은 무엇입니까? (0) | 2020.10.31 |
파이썬 Python sqlite3 및 동시성 (0) | 2020.10.31 |
파이썬 Python의 문자열에서 특정 문자 제거 (0) | 2020.10.31 |
파이썬 Python Pandas Group by date using datetime data (0) | 2020.10.31 |
댓글