【问题标题】:How to merge different colors from different images into one?如何将不同图像中的不同颜色合并为一个?
【发布时间】:2021-07-03 05:37:52
【问题描述】:

我有两组图像:蓝色和红色。我想拍摄每张图像并将它们合并在一起,同时将 T 添加到红色通道并将 D 添加到蓝色通道:

Blue Image + Red Image = Merged Image

我使用这些代码行来做到这一点:

import cv2
import numpy as np

blue = cv2.imread("blue.png", 1)
red = cv2.imread("red.png", 1)

bb, bg, br = cv2.split(blue)
rb, rg, rr = cv2.split(red)
merged = cv2.merge((bb, rr))

显然,这是行不通的。因为我也必须为绿色通道提供价值。但是,如果我从红色图像或蓝色图像中添加绿色通道,它将改变合并图像中其他对象的颜色。我也尝试制作一些任意的 numpy 数组,但它也不起作用:

green = np.zeros((rr.shape))
merged = cv2.merge((bb, green, rr))

谁能帮我解决这个问题?谢谢

【问题讨论】:

    标签: python-3.x image opencv


    【解决方案1】:

    您可以为绿色通道创建np.zeros。这不会影响显示。

    import cv2
    import numpy as np
    import matplotlib.pyplot as plt
    
    
    blue = cv2.imread("blue.png", 0)
    red = cv2.imread("red.png", 0)
    
    green = np.zeros_like(blue)
    
    rgb = np.dstack((red,green,blue))
    
    
    plt.imshow(rgb,cmap='gray')
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-03
      • 1970-01-01
      • 1970-01-01
      • 2020-10-24
      • 2017-02-28
      • 2017-10-22
      • 2020-07-02
      相关资源
      最近更新 更多