python - 将 MatplotLib 或自定义颜色图应用于 OpenCV 图像

标签 python opencv matplotlib visualization

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/

相关文章:

python - 修改django装饰器函数,Permissionn_required

matplotlib - 使用函数绘制等值线图

python - 如何在 Matplotlib 极坐标图中添加楔形扇区

python - 不同的 YAML 数组表示

python - 我可以使用 PyOpenCL 与 Scipy 集成来与 GPU 并行执行差分进化吗?

c++ - OpenCV 3.2.0 中的 cv::connectedComponentsWithStats 有时会与 gcc 6.2 一起崩溃

c++ - 我可以获得opencv grabcut函数的轮廓吗?

python - 平面图边缘检测 - 图像处理?

python - 将 x 轴刻度更改为自定义字符串

python - matlab在python中的 "permute"