是否有一個算法找出給出的色調值的顏色的波長(在0度到360度)。 MATLAB中有沒有內置函數?色相於波長映射
色相於波長映射
回答
簡答題:否。一般給定的色調可以由三倍無限的波長產生。
您能解釋一下這句話嗎?在 – rhavin 2017-01-10 00:06:20
見的解釋:https://en.wikipedia.org/wiki/Color_vision#Mathematics_of_color_perception – 2017-01-10 17:39:41
儘管Mark Ransom和Franco Callari是完全正確的,您無法恢復感知色彩的光譜,也不能明確地將色調值映射到波長,但如果您只需要相應的單色波長,您肯定可以將某些東西拼合在一起。
270和360之間的色調週期的部分是另一個問題。在光譜中沒有與品紅對應的東西,因此我們假設我們只使用0到270之間的色相值。
估計可見光譜的可用部分爲450-620nm,波長爲L
(單位:nm)和色調值H
(度),可以即興此:
L = 620 - 170/270 * H
620是最大波長,170是波長範圍和270是色調範圍。
我想這應該是在正確的方向,但我只檢查4或5種顏色。在輸入hues和visible spectrum chart上的相應顏色之間進行比較,然後稍微調整這些值,您可能會獲得更好的結果。
你有這個公式的任何引用。 – 2017-05-30 07:52:45
@AkshayHazari:你可以查看我在任何物理教科書中使用的數字。至於配方本身,不,我只是補充了。但我解釋了我是如何得出它的。 – Junuxx 2017-05-30 13:41:24
我有一個功能,通過對圖像顏色進行裝箱並檢查最接近的顏色來識別圖像中的主色。如果我能夠獲得波長或表示顏色的單個值,將大大降低複雜性。有沒有什麼辦法可以調整這一點並使用它,到目前爲止,我還沒有發現任何東西,接近代表rgb或色調值,就像你有。 – 2017-05-31 05:24:02
我不能提供簡單的解決方案,但你需要考慮的東西:
- 的SPEKTRUM的可見部分是大致爲380nm(UV-境)和780nm的(IR-境)之間。但是你看到(色調)取決於觸發的錐形細胞。在660nm以上,M錐完全不被觸發,因此660nm和780nm之間的所有光都是0°色相。
- 在580nm有你與黃色色調60°,最純的綠色是在約535nm處,以便爲120°,並以純淨的藍色(240°)爲約457nm。
- 如果你應用線性函數,黃色應該在597nm--它不是,所以你需要一個更復雜的方法。
- 上方藍色,紅色錐仍然被觸發,直到我們看到紫色的,但我們不會在更高的頻率達到紅了起來,所以你不能去上面的約300°。
- 300°和360°之間的色相範圍在可見SPEKTRUM沒有æquivalent,它只能通過用紅色光,這導致在品紅色和紅色之間的東西上了紫色混合高頻光(藍色或紫色)模擬線。
- 1. 將值映射到顏色映射顏色
- 2. MATLAB:將位映射到載波
- 3. 色彩映射表紅色色調
- 4. Tomcat安全角色映射
- 5. Direct3D映射像素黑色
- 6. 堆疊顏色映射
- 7. OPEN GL顏色映射
- 8. jzy3d更改顏色映射
- 9. matlab中的顏色映射
- 10. 的Paraview顏色映射
- 11. 對映射值長度的JPA映射<String,String>限制?
- 12. Matplotlib顏色映射:最大顏色數
- 13. matplotlib顏色映射 - 預定義映射到值?
- 14. 自動映射器映射從相同類型的子列表
- 15. 多個字段映射到相同的外鍵的JPA映射
- 16. Dstream映射和Dstream轉換映射在Spark中是否相同?
- 17. Hibernate映射 - 包含映射的映射
- 18. 從Hibernate映射獲取列長度?
- 19. 淘汰賽映射和家長選擇
- 20. 休眠:多家長對孩子映射
- 21. 映射基於annother柱
- 22. NSFetchedResultsController用於映射註釋
- 23. 基於映射的計算
- 24. 如何基於值創建色彩映射?
- 25. 沒有可用於具有sessionContext.isCallerInRole()的角色引用的映射
- 26. ggplot2:設置顏色 - >值的映射,獨立於值子集
- 27. 顏色空間映射YCbCr到RGB
- 28. 在HTML中映射色彩空間
- 29. 在matplotlib中反轉顏色映射
- 30. 轉換gnuplot顏色映射到matplotlib
從技術上講,如果你願意混合波長,有多種方法可以得到色調,而一些紫色根本不能用單一波長表示。 – 2012-08-07 16:22:17
@MarkRansom,這將是最簡單的matlab? – SegFault 2012-08-07 16:25:52
我不能說關於Matlab的任何具體內容。您可能需要轉換顏色空間。您可能會發現CIE官方比色表非常有用:http://www.cie.co.at/index.php/LEFTMENUE/index.php?i_ca_id=298 – 2012-08-07 16:42:55