我正在做一些深度预测。所以我在Opencv和Matplotlib中都使用了Colormap对预测图像进行处理。然而,它在Matplotlib中表现良好,但在OpenCV(colormap_jet)中表现不佳。
如何在Opencv中解决此问题?因为我想实时使用Opencv。Matplotlib的实时速度太慢。
结果如下所示。
发布于 2017-12-28 16:29:33
使用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:
生成着色的图像(作为预览代码)。
示例2:
在Matplotlib
(在jet
中)和OpenCV
(使用我的函数colorize
)中对相同的数据进行着色。
https://stackoverflow.com/questions/48003559
复制相似问题