我想要实现的是:查找表格来创建双色调效果,也称为“假颜色”。
假设我有两种颜色:纯红色和纯绿色,分别以十六进制格式ff0000
和00ff00
提供。我们知道它本质上是(255, 0, 0)
和(0, 255, 0)
。我需要创建一个256x1渐变图像在Numpy与红色和绿色在渐变的两端。
我强烈希望将依赖项限制为numpy
和cv2
。
下面的代码对我来说很好,但是所有的rgb
值都已经硬编码,我需要为任何给定的左颜色和右颜色动态计算LUT渐变图(为简洁起见,LUT表被截断):
lut = np.zeros((256, 1, 3), dtype=np.uint8)
lut[:, 0, 0] = [250,248,246,244,242,240,238,236,234,232,230, ...]
lut[:, 0, 1] = [109,107,105,103,101,99,97,95,93,91,89,87,85, ...]
lut[:, 0, 2] = [127,127,127,127,127,127,127,127,127,127,127, ...]
im_color = cv2.LUT(image, lut)
2条答案
按热度按时间wwodge7n1#
从here修改为NumPy数组
然后是
numpy
部分:5f0d552i2#
我知道问题已经回答了,但我只想问问作者,双色调效果的代码是否可以共享。我有一个粗暴的解决方案,可以逐个像素地更新图像,它很管用,但效率真的很低。所以我在寻找一种更有效的算法,我发现这篇文章很鼓舞人心,但还没有想出一个利用这些线索的有效解决方案。@Pono,如果你能分享使用任何两种颜色创建双色调图像的代码,那就太好了。
不要紧,我想出来了,并分享了下面的代码,以防其他人寻找同样的东西。