0
當我實現了一個功能,即在的(-109) - 147
範圍唯一編號向量映射到的0 - 159
新的範圍如下因素this。避免重複的值從一個範圍映射到另一個
到目前爲止,映射工作正常,每個數字都被轉移到正確的範圍。我重複了第二個向量(新範圍0 - 119
)
我面臨的問題是每對數字(每個向量一個)表示160x120
圖像中的位置,因此應該是唯一的。由於需要在返回float的映射函數中進行劃分,我使用round()
來轉換爲int
(116.341 - > 116)。但是,這導致了問題點對不是唯一的了,因爲:
Point -> new Range -> round()
--------------------------------------
177x(-99) -> 117.670x3.9608 -> 118x4 !
176x(-99) -> 117.006x3.9608 -> 118x4 !
正確映射到所需的範圍內,但現在代表相同點是不是唯一的了。 重要的是:每個點都被映射到新的範圍,並且沒有信息丟失,例如重複被丟棄。 (點對持有更多必須保留的顏色信息。)
有沒有辦法解決這個問題?
Unique +「_mapping_」+僅兩個變量=使用'#include
範圍[0,159]有160個整數,所以很明顯,如果你的矢量超過160個元素,就不可能將其成員唯一映射到新範圍。 – Mark
不太清楚 - 你想要新的範圍數字是唯一的嗎?這顯然是不可能的。 – Slava