在PIL或Imagemagik中对图像应用彩色覆盖

在PIL或Imagemagik中对图像应用彩色覆盖,第1张

在PIL或Imagemagik中对图像应用彩色覆盖

下面是一个代码片段,演示如何使用scikit image在灰度图像上叠加颜色。我们的想法是
将两幅图像的HSV颜色空间,然后用色调和饱和度来代替
灰度图像的值与彩色掩模的值。

from skimage import data, color, io, img_as_floatimport numpy as npimport matplotlib.pyplot as pltalpha = 0.6img = img_as_float(data.camera())rows, cols = img.shape# Construct a colour image to superimposecolor_mask = np.zeros((rows, cols, 3))color_mask[30:140, 30:140] = [1, 0, 0]  # Red blockcolor_mask[170:270, 40:120] = [0, 1, 0] # Green blockcolor_mask[200:350, 200:350] = [0, 0, 1] # Blue block# Construct RGB version of grey-level imageimg_color = np.dstack((img, img, img))# Convert the input image and color mask to Hue Saturation Value (HSV)# colorspaceimg_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 maskimg_hsv[..., 0] = color_mask_hsv[..., 0]img_hsv[..., 1] = color_mask_hsv[..., 1] * alphaimg_masked = color.hsv2rgb(img_hsv)# Display the outputf, (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()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5650136.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存