OpenCV 的彩色图数量有限。 MatplotLib 有更多的颜色图,但将这些颜色图应用到给定的 OpenCV 图像并不简单。使用 Python API 时,如何将下页中的 MatplotLib 颜色映射应用于 OpenCV 图像?这类似于将自定义颜色图应用于给定图像。
https://matplotlib.org/examples/color/colormaps_reference.html
最佳答案
对于 Python >= 2.7,cmapy以方便的方式打包此功能。安装它:
python 2.7:
pip install cmapy
Python 3.x:
pip3 install cmapy
或者,对于 Anaconda(来自 conda-forge):
conda install -c conda-forge cmapy
然后像这样使用它:
import cv2
import matplotlib.pyplot as plt
import cmapy
# Read image.
img = cv2.imread('imgs/woman.png')
# Colorize.
img_colorized = cv2.applyColorMap(img, cmapy.cmap('viridis'))
# Display
plt.imshow(img_colorized)
plt.show()
不同的颜色图给出这样的东西:
查看所有可用的颜色映射表 here .
免责声明:我编写了 cmapy(因为我需要为另一个项目提供此功能),并且在内部,它的功能与其他答案几乎相同。
关于python - 将 MatplotLib 或自定义颜色图应用于 OpenCV 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52498777/