2017-12-28 4 views
0

나는 깊이에 대한 어떤 예측을하고 있습니다. 그래서 Opencv와 Matplotlib에서 Colormap을 사용하여 예측 된 이미지를 얻었습니다. 그러나 Matplotlib에서는 잘 수행되었지만 OpenCV (colormap_jet)에서는 잘 수행되지 않았습니다.opencv의 색상 맵과 matplotlib의 색상 차이가 있습니까?

Opencv에서이 문제를 어떻게 해결할 수 있습니까? 왜냐하면 나는 실시간으로 Opencv를 사용하기를 원하기 때문이다. Matplotlib은 실시간으로 너무 느립니다.

결과는 다음과 같습니다. matplotlib opencv

답변

1

사용 matplotlib.pylab.cm 이미지를 색상 화합니다.

#!/usr/bin/python3 
# 2017.12.28 16:26:26 CST 
import matplotlib.pyplot as plt 
from matplotlib.pylab import cm 
import numpy as np 
import cv2 

## use matplot jet for opencv 
def colorize(img): 
    gray = None 
    if img.ndim == 2: 
     gray = img.copy() 
    if len(img.shape) == 3: 
     gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 
    canvas = np.uint8(cm.jet(gray)*255) 
    canvas = cv2.cvtColor(canvas, cv2.COLOR_RGBA2BGR) 
    return canvas 

## process 
img = cv2.imread("test.png") 
res = colorize(img) 
cv2.imwrite("res.png", res) 

예 1 :

는 (미리 코드 등) 색상 화 이미지를 생성한다.

enter image description here

예 2

는 (내 colorize 함수를 사용하여) (jet)에 MatplotlibOpenCV와 동일한 데이터를 컬러화.

enter image description here

관련 문제