目的:输出如下图所示的结果:
提示:图像大小为250×250×3(pyplot无法直接显示单通道灰度图,所以需要将其转换为3通道),图中的三个灰度分别为200、150和100.可以用np.ones创建图像大小的数组(注意指定dtype=np.uint8).之后用索引切片指定图像中心区域的灰度值。最后用pyplot同时显示两幅结果图。
import numpy as np
import matplotlib.pyplot as plt
width=250
height=250
channel=3
light_gray=200
deep_gray=100
center_gray=150
img1=np.ones((height,width,channel),dtype=np.uint8)*deep_gray
img2=np.ones((height,width,channel),dtype=np.uint8)*light_gray
img1[50:200,50:200,:]=center_gray
img2[50:200,50:200,:]=center_gray
plt.subplot(121), plt.imshow(img1),plt.title("img1")
plt.subplot(122),plt.imshow(img2),plt.title("img2")
plt.show()
width 和 height 定义了图像的宽度和高度,分别为250像素。
channel 定义了图像的通道数,这里为3,表示RGB彩色图像。
light_gray、deep_gray 和 center_gray 是灰度值,分别表示浅灰色、深灰色和中等灰色。
img1 和 img2 是两个空白图像,分别初始化为深灰色(deep_gray)和浅灰色(light_gray)。
然后,通过对 img1 和 img2 的特定区域赋值为 center_gray,在两个图像的中心区域创建了一个中等灰色的正方形。