1. 程式人生 > >顏色相關的演算法整理

顏色相關的演算法整理

RGB 轉灰度

1

2

3

4

5

6

//rgba(grey,grey,grey,1)

function rgb2Grey(r,g,b)

{

var grey=Math.round((r*299 + g*587 + b*114 + 500) / 1000)

return grey

}

判斷兩種顏色相似程度

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

//rbg

function isSimilarColorRBG(r1, g1, b1, r2, g2, b2, offset)

{

if (Math.sqrt((r1 - r2) * (r1 - r2) + (g1 - g2) * (g1 - g2) + (b1 - b2) * (b1 - b2)) < offset)

{

return true;

}

else

{

return false;

}

}

//hex

function isSimilarColorHEX(sHexColorA, sHexColorB, nOffset)

{

this.offsetNum = Math.abs(nOffset);

this.offsetNum > 255 ? this.offsetNum = this.offsetNum - 256 : "";

var arrNumA = [parseInt(sHexColorA.substring(0, 2), 16),

parseInt(sHexColorA.substring(2, 4), 16),

parseInt(sHexColorA.substring(4, 6), 16)

];

var arrNumB = [parseInt(sHexColorB.substring(0, 2), 16),

parseInt(sHexColorB.substring(2, 4), 16),

parseInt(sHexColorB.substring(4, 6), 16)

];

for (var i = 0; i < arrNumA.length; i++)

{

if (Math.abs(arrNumA[i] - arrNumB[i]) > this.offsetNum)

{

return false;//不相似

};

}

return true;//相似

}

RGB轉HEX

1

2

3

4

5

6

7

8

9

10

11

12

//rgbToHex("rbg(r,g,b)")

function rgb2Hex(rgb)

{

var color = rgb.toString().match(/\d+/g);

var hex = "#";

for (var i = 0; i < 3; i++)

{

hex += ("0" + Number(color[i]).toString(16)).slice(-2);

}

return hex;

}

相關推薦

顏色相關演算法整理

RGB 轉灰度 1 2 3 4 5 6 //rgba(grey,grey,grey,1) function rgb2Grey(r,g,b) { var grey=Math.roun

幾種常見的模式識別演算法整理相關資料介紹和下載

這學期選了門模式識別的課。發現最常見的一種情況就是,書上寫的老師ppt上寫的都看不懂,然後繞了一大圈去自己查資料理解,回頭看看發現,Ah-ha,原來本質的原理那麼簡單,自己一開始只不過被那些看似formidable的細節嚇到了。所以在這裡把自己所學的一些點記錄下來,供備忘,也供參考。 1. K-Near

項目實戰之AJAX訪問及相關問題整理

.get ont class message 統一 comm pac 單點登錄 com   這篇主要寫在項目中AJAX的使用以及在解決登錄跳轉時遇到的問題,及解決辦法。   一、reqwest的使用   reqwest 是一種瀏覽器異步HTTP請求的封裝。支持xmlHttp

典型相關分析整理

簡單 屬性 自變量 判斷 erl color 我們 相關 多個 首先我們來關註幾個概念。   1、簡單相關系數:尋求兩個變量之間的系數關系;     2、復相關系數:尋求一對多變量之間的系數關系; 簡單介紹:   典型相關分析是考察有多個變量組成的自變量和多個變量組成的因變

計算機相關組織整理

專業技術 ati 有著 成員 soft 委員會 輸入 理工學院 nal ECMA ECMA是“European Computer Manufactures Association”的縮寫,中文稱歐洲計算機制造聯合會。 是1961年成立的旨在建立統一的電腦操作格式標準--包括

secureCRT/VIM 設置顏色相關 debian

app 設置 修改 term ide crt 登錄 選擇 ash 1. 先保證在linux的終端裏看到顏色,配置~/.bashrc下面這些取消註釋: # You may uncomment the following lines if you want `ls‘ to b

JSON相關知識整理

數據 帶寬 逗號 使用 t對象 n) 防止 一個 ava JSON 全稱:JavaScript Object Notation ,一種輕量級的數據交換格式 示例:{"name":"eric","age":24} {"first":{"name":"eric","

運維相關概念整理

運維 工具 概念運維工作的發展歷程簡要梳理由最初的手動執行-->整理文檔,制定規範,逐步實現標準化後才能批量操作-->工具化編寫簡單的工具,實現初步的工具化-->借用腳本或者編程能力實現自動化-->根據大量的數據和案例實現智能化運維自動化的步驟的三個層級Bootstraping,系

Atom相關資料整理

代碼格式化 漢化 針對 等等 目錄 ets 開箱 png ocs 官網地址 https://atom.io/ Atom 中文社區 https://atom-china.org/ 常用插件 Emmet 這款插件是用來支持zend-coding,Emmet的前身是大

Windows安裝MySQL相關問題整理

MySQL1.安裝MySQL時,與到不能不能正常啟動的情況出現。 如圖所示:查看系統事件日誌發現因缺少Microsoft Visual C++ 2008(運行庫),經多次查找未能找到影響的庫,在絕望之際,使用360軟件進行查找安裝。後安裝成功,再次啟動MySQL啟動成功。 2.因前一次安裝MySQL後,未將M

UBNT ex-r +netgear gs105e v2 +ap 設置vlan 步驟記錄 及相關知識整理

style list read 地址 img net 重復 dns 進入 設備連接:路由器ex-r的eth0 連接 光貓撥號,eth3連接交換機gs105e,交換機gs105e的eth3連接無線ap 需求:路由器撥號上網,通過不同ssid的無線網絡可以連接不同vlan,且交

貝葉斯網路(belief network)及相關知識整理

貝葉斯網路(belief network)及相關知識 頻率派:認為theta是個固定的未知常數。認為樣本是隨機的,重點研究樣本分佈 貝葉斯派:認為theta是不確定的未知數。認為樣本是固定的,重點研究引數theta的分佈   貝葉斯的思考方式不同於傳統“非黑即白,非0即1”的思考方

Shader 優化相關資料整理

優化必須先搞清楚什麼是渲染管線 注: 應用程式階段:主要是CPU與記憶體打交道,例如碰撞檢測,計算好的資料(頂點座標、法向量、紋理座標、紋理)就會通過資料匯流排傳給圖形硬體 。 幾何階段:其實上圖有個問題(網上不少部落格也沒寫清楚這個問題),根據 OpenG

深入推薦引擎相關演算法 - 聚類

探索推薦引擎內部的祕密,第 3 部分 深入推薦引擎相關演算法 - 聚類 趙 晨婷 和 馬 春娥 2011 年 3 月 24 日釋出 WeiboGoogle+用電子郵件傳送本頁面   10 系列內容: 此內容是該系列 3 部分中的第&nb

nginx lua/openresty 相關資源整理

Lua 包管理工具: Lua的包管理工具為 luarocks,在官網 https://luarocks.org/ 可以找到各種有用的 lua 包。   openresty 手冊: https://www.nginx.com/resources/wiki/

Leetcode——回溯法常考演算法整理

Leetcode——回溯法常考演算法整理 Preface Leetcode——回溯法常考演算法整理 Definition Why & When to Use Backtrakcing How to Use Bac

NLP 相關演算法 LSTM 演算法流程

LSTM希望通過改進的RNN內部計算方法來應對普通RNN經常面臨的梯度消失和梯度爆炸。基本思路是通過改變逆向傳播求導時單純的偏導連乘關係,從而避免較小的sigmoid或relu啟用函式偏導連乘現象。 RNN網路unfold以後,將按時間t展開為若干個結構相同的計算單元,每個計算單元在利用當前

NLP 相關演算法 Word2Vec embedding

在做NLP處理時,作為輸入的文字或語料不應以原始文字形式輸入,需要進行一定的數字化處理以方便機器進行計算(樹類演算法可以不進行處理)。Word2Vec本質上就是將原始文字進行數字化處理的一種方式。 最為簡單的文字數字化處理方式是one-hot方法,也就是建立一個長度等於字典長度的全零向量,向

近五年城市軌跡資料探勘的相關文章整理

Xiaoyu Sun 、Zhou Huang 於2018年發表的“Building a model-based personalised recommendation approach for tourist attractions from geotagged social med

排程器&負載均衡排程演算法整理

一、Linux 排程器   Linux中程序排程器已經經過很多次改進了,目前核心排程器是在CFS(Completely Fair Scheduler),從2.6.23開始被作為預設排程器。用作者Ingo Molnar的話講,CFS在真實的硬體上模擬了完全理想的多工處理器。