如何让 numpy.zeros() 和 (numpy.ones() * 255) 分别生成黑白图像?

我是 Python + OpenCV 的新手,所以这对你们大多数人来说可能是一个基本问题,因为我在网上找不到一个好的/令人满意的解决方案。


所以我试图通过单独创建 RGB 层

R - 0s

层 G - 255s

层 B - 255* 标识矩阵层来创建图像


import cv2 as cv

import numpy as np

import matplotlib.pyplot as plt


Red = np.zeros([6, 6], dtype = np.uint8)

plt.imshow(Red)        # it is just the red layer which is actually all black

plt.show()


Green = np.ones([6, 6], dtype = np.uint8) * 255

plt.imshow(Green)      # it is just the Green layer which is actually all white

plt.show()


Blue = np.eye(6, dtype = int) * 255

plt.imshow(Blue)       # it is just the Blue layer which is actually black with white diag

plt.show()


但我实际上得到的是紫色或紫色和黄色的组合。

http://img1.mukewang.com/6268f9ef00011c8206560817.jpg

有人可以解释发生了什么和/或如何解决它吗?



墨色风雨
浏览 211回答 1
1回答

繁花不似锦

尝试使用Blue = np.eye(6, dtype = int) * 255plt.imshow(Blue, cmap='gray', vmin=0, vmax=255)plt.show()更多参考这个答案
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python