我有一系列的 tif 图像,想知道是否有可能用 python 编写一些东西(可能使用 scikit-image 或 OpenCV)来应用颜色曲线。我拥有的数据如下所示,其中我们有一个 x, y, x, y...数据的列表,如下所示:(0, 0, 32, 22, 64, 56, 128, 128, 192, 196, 255、255)。
最佳答案
根据您提供的新信息,我认为以下代码应该可以解决问题。 lut_in
是输入灰度级的向量,lut_out
是所需的输出级别。这里它适用于所有 3 个 channel (就像在 Photoshop 中一样)。您唯一需要的是插值以获得包含 256 个元素的 LUT(查找表),以适合输入的 256 个灰度级。您可以对其他颜色分辨率应用相同的方法。
import cv2
import numpy as np
image = cv2.imread('apple.jpg')
lut_in = [0, 127, 255]
lut_out = [0, 80, 255]
lut_8u = np.interp(np.arange(0, 256), lut_in, lut_out).astype(np.uint8)
image_contrasted = cv2.LUT(image, lut_8u)
cv2.imwrite('apple_dark.jpg', image_contrasted)
关于python - 有什么方法可以使用Python中的颜色曲线来操作图像吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59851952/