这段代码实现了图像处理、绘制三维坐标系以及图像合成的操作,具体步骤如下:
1. 图像加载与显示
image = cv2.imread("D:/papers/picture/foreground.png")
mask = cv2.imread("D:/papers/picture/insulator.jpg")
jiazi_mask = cv2.imread("D:/papers/picture/6201726039514_.pic.jpg")
- 使用 OpenCV 的
cv2.imread()
方法加载三张图像,分别是前景图(foreground.png
),绝缘子掩膜(insulator.jpg
),以及夹子掩膜(jiazi_mask.jpg
)。
# 创建一个 1 行 3 列的子图
plt.figure(figsize=(15, 5))
plt.subplot(1, 3, 1)
plt.imshow(image)
plt.title("Foreground")
plt.axis('off')
plt.subplot(1, 3, 2)
plt.imshow(mask)
plt.title("Insulator Mask")
plt.axis('off')
plt.subplot(1, 3, 3)
plt.imshow(jiazi_mask,cmap='gray')
plt.title("Jiazi Mask")
plt.axis('off')
plt.tight_layout()
plt.show()
- 将这三张图像放在一个 1 行 3 列的子图中进行显示,图像分别是前景、绝缘子掩膜和夹子掩膜。
2. 图像预处理
image = np.mean(image, axis=2) # 将架子的图像按通道数进行求平均,将图片压扁, 得到单通道的图像。
new_image = np.random.rand(*image.shape[:2]) # 随机生成与原始图像相同尺寸大小的新的