2024-04-24 13:49:45 发布
网友
我知道 Matlab, matplotlib style colormap in OpenCV 。文档说明了C++的用法。我想知道对于使用cv2的python是否也存在这样的选项。我搜了很多东西什么也没找到。我知道matplotlib的colormap选项我可以使用,但如果cv2提供了这样的选项,我可以消除将matplotlib colormap s转换为opencv图像的开销。很笨拙。我的项目需要它。
import cv2 im = cv2.imread('test.jpg', cv2.IMREAD_GRAYSCALE) imC = cv2.applyColorMap(im, cv2.COLORMAP_JET)
另请参见this Stack Overflow answer。
遗憾的是OpenCV没有任何颜色映射,但您可以编写一个。没那么难。
class ColorMap: startcolor = () endcolor = () startmap = 0 endmap = 0 colordistance = 0 valuerange = 0 ratios = [] def __init__(self, startcolor, endcolor, startmap, endmap): self.startcolor = np.array(startcolor) self.endcolor = np.array(endcolor) self.startmap = float(startmap) self.endmap = float(endmap) self.valuerange = float(endmap - startmap) self.ratios = (self.endcolor - self.startcolor) / self.valuerange def __getitem__(self, value): color = tuple(self.startcolor + (self.ratios * (value - self.startmap))) return (int(color[0]), int(color[1]), int(color[2]))
遗憾的是,看起来它还没有进入python api。但是您可以查看modules/contrib/src/colormap.cpp中的实现,例如jetmap只是一个查找表,您可以直接窃取它
另请参见this Stack Overflow answer。
遗憾的是OpenCV没有任何颜色映射,但您可以编写一个。没那么难。
遗憾的是,看起来它还没有进入python api。但是您可以查看modules/contrib/src/colormap.cpp中的实现,例如jetmap只是一个查找表,您可以直接窃取它
相关问题 更多 >
编程相关推荐