繁体   English   中英

Python:matplotlib imshow()中的cmap参数生成不同的二进制图像

[英]Python: cmap argument in matplotlib imshow() generates different binary images

通过设置cmap =“ gray”可以正确显示二进制图像。

import numpy as np
from matplotlib import pyplot as plt
%matplotlib inline
square = np.array([[0, 0, 0, 0, 0],
                   [0, 1, 1, 1, 0],
                   [0, 1, 1, 1, 0],
                   [0, 1, 1, 1, 0],
                   [0, 0, 0, 0, 0]], dtype=np.uint8)
fig = plt.figure(figsize=(3,3))
plt.imshow(square, cmap="gray")
plt.show()

但是,当我们将其更改为“ binary”时,imshow()会生成逆像!

plt.imshow(square, cmap="binary")

这种奇怪行为的原因是什么?

这是matplotlib文档Colormap参考的屏幕截图:

在此处输入图片说明

可以看出, binary从白色开始变为黑色,而gray从黑色开始变为白色。

您可以检查下面的matplotlib色彩图,其中binary是灰色的倒数,这就是为什么要获得高于结果的原因。

在此处输入图片说明

这里阅读更多有关它的信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM