gpt4 book ai didi

python - 如何用蓝色为 RGB 图像着色?

转载 作者:太空宇宙 更新时间:2023-11-03 21:59:29 24 4
gpt4 key购买 nike

我有下面的图像,我想用蓝色着色。

图像输入:
inputs

预期输出:
Expected_output

是否有任何 skimage 或 opencv 工具可以进行这种操作?

谢谢

最佳答案

您可以通过应用透明覆盖来获得所需的效果。我通过反复试验大致弄清楚了颜色(天蓝色)。它可以更改为任何可能的颜色。

在 OpenCV 中,您可以使用 cv2..addWeighted() 来达到此目的

代码:

import numpy as np
import cv2

image = 'C:/Users/Desktop/city.jpg'
im = cv2.imread(path, 1)

blue = np.zeros_like(im)
blue[:] = (255, 200, 0) #<--- Change here
cv2.imshow('blue.jpg', blue)

enter image description here

val = 0.75
fin = cv2.addWeighted(blue, val, im, 1 - val, 0)
cv2.imshow('Transparent_image', fin)

enter image description here

如@vasia 所述,将红色和绿色像素设置为 0 不会产生预期的效果。这是我得到的结果:

enter image description here

更新

@MarkSetchell 的评论让我开始思考,结果是这样的:

enter image description here

那我做了什么?

我合并了三个 channel :

  1. 蓝色 channel 中值为 255 的数组
  2. 原图在绿色 channel 中的灰度
  3. 红色 channel 中的值为 0 的数组

谢谢马克!!

关于python - 如何用蓝色为 RGB 图像着色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50491716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com