图像 HSV 中 V 元素的矢量重塑

Vector reshaping on the V-element in HSV of an image

我有 n 个向量,我想将其“拉伸”成起始值和终止值。 像这样: Example of linear mapping. 在此示例中,n=4 其中“in”是原始值,“ut”是所需值。 执行此操作的最佳方法是什么?

示例: 我有一个按升序排序的 35535 个元素的向量。最低值为 0.09,最高值为 0.36。我还有两个起始值和终止值,0 和 0.5,(n 是 2、2 段)。 我想要的是“拉伸”向量中的值,使其从 0.09-0.36 达到 0.5,同时保持彼此之间的相对距离。

编辑: 另一张图片试图让它更清晰 n is 2, n is 4,

编辑 2: Another image

在花了一些时间思考我的问题后,我意识到我被“线性映射”分散了注意力,而我想做的事情的解决方案就是简单地使用 Y = kx+m。我在哪里计算 Y 并保留我的“x”值。

例如: 如果我的起始值为 0/终止值为 0.5,最低值为 0.09/最高值为 0.36。那么k = (0.5-0)/(0.36-0.09), m = 0-k*0.09。 那么 y = k * x + m。如果我们在 x 中输入 0.09,我们会非常接近 0。如果 x 为 0.36,则 y 为 0.5。

我正在处理图像,对我来说重要的是要记住保留 y 和 x 值,以便我可以在操作后重新组合图像。