gpt4 book ai didi

python - 在 OIL 或 Imagemagick 中将彩色叠加层应用于图像

转载 作者:太空狗 更新时间:2023-10-29 17:09:58 25 4
gpt4 key购买 nike

我是图像处理的新手,我猜这很容易做到,但我只是不知道术语。

基本上,我有一个黑白图像,我只是想在图像上应用彩色叠加层,这样我就得到了蓝绿色红色和黄色叠加的图像,如下图所示(实际上我可以'不显示,因为我没有足够的声誉来这样做 - grrrrrr)。假设我有一个物理图像,以及一个绿色/红色/蓝色/黄色覆盖层,我将其放置在图像之上。

理想情况下,我想使用 Python PIL 来执行此操作,但我也很乐意使用 ImageMagik 来执行此操作,但无论哪种方式,我都需要能够编写该过程的脚本,因为我有 100 个左右的图像需要执行该过程。

最佳答案

编辑:正如 Matt 在评论中提到的,此功能现在可在 skimage.color.label2rgb 中使用。

在最新的开发版本中,我们还引入了一个saturation参数,允许您为彩色图像添加叠加。


这是一个代码片段,展示了如何使用 scikit-image在灰度图像上叠加颜色。这个想法是将两个图像都转换为 HSV 颜色空间,然后用颜色掩码的色调和饱和度值替换灰度图像的色调和饱和度。

from skimage import data, color, io, img_as_float
import numpy as np
import matplotlib.pyplot as plt

alpha = 0.6

img = img_as_float(data.camera())
rows, cols = img.shape

# Construct a colour image to superimpose
color_mask = np.zeros((rows, cols, 3))
color_mask[30:140, 30:140] = [1, 0, 0] # Red block
color_mask[170:270, 40:120] = [0, 1, 0] # Green block
color_mask[200:350, 200:350] = [0, 0, 1] # Blue block

# Construct RGB version of grey-level image
img_color = np.dstack((img, img, img))

# Convert the input image and color mask to Hue Saturation Value (HSV)
# colorspace
img_hsv = color.rgb2hsv(img_color)
color_mask_hsv = color.rgb2hsv(color_mask)

# Replace the hue and saturation of the original image
# with that of the color mask
img_hsv[..., 0] = color_mask_hsv[..., 0]
img_hsv[..., 1] = color_mask_hsv[..., 1] * alpha

img_masked = color.hsv2rgb(img_hsv)

# Display the output
f, (ax0, ax1, ax2) = plt.subplots(1, 3,
subplot_kw={'xticks': [], 'yticks': []})
ax0.imshow(img, cmap=plt.cm.gray)
ax1.imshow(color_mask)
ax2.imshow(img_masked)
plt.show()

这是输出:

enter image description here

关于python - 在 OIL 或 Imagemagick 中将彩色叠加层应用于图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9193603/

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