摘要:相關(guān)原理首先,補(bǔ)充幾個(gè)知識,第一灰度直方圖。是直方圖的坐標(biāo)軸。然后對于新圖像,由于每個(gè)灰度級概率相等,所以像素出現(xiàn)的概率為灰度值小于等于時(shí)像素總數(shù)目為總共的概率和乘以像素總數(shù)目。然后基于這個(gè)數(shù)據(jù)制作灰度直方圖。均衡化效果如下圖
如果有一幅灰度圖片,高灰度度過于集中,或者是低灰度過于集中那么它的細(xì)節(jié)就會(huì)被隱藏掉,不利于圖像判讀。
例如下圖
它的灰度直方圖如綠色條形統(tǒng)計(jì)圖所示。可以看出低灰度值過于集中,導(dǎo)致圖像太暗不利于分析。
這次,我們的項(xiàng)目就是用js和網(wǎng)頁前端技術(shù)把一幅灰度圖對它進(jìn)行直方圖均衡化,然后輸出處理后的圖形。
首先,補(bǔ)充幾個(gè)知識,第一灰度直方圖。
x軸是每個(gè)灰度級數(shù)L,縱坐標(biāo)y軸是每個(gè)灰度級像素?cái)?shù)目。假設(shè)圖像是256位的那么圖像的級數(shù)L是[0,1,...,255]。
對每個(gè)灰度級的像素個(gè)數(shù)進(jìn)行計(jì)數(shù)。形成直方圖y坐標(biāo)數(shù)據(jù)。并以此制作直方圖。div .v是直方圖的y坐標(biāo)軸。
定義均衡化函數(shù)。均衡化的目的就是使圖像的直方圖變得平坦,每個(gè)灰度級的像素?cái)?shù)目盡可能一樣多。假設(shè)新圖像直方圖平坦,即每個(gè)灰度級的像素?cái)?shù)目一樣。那么,舊圖像中當(dāng)灰度值<=p時(shí),它的像素總數(shù)目和新圖像灰度值<=q時(shí)一樣多。根據(jù)條件可以得出一個(gè)舊灰度值對應(yīng)的新灰度值的映射函數(shù)。q=E(p);
可以看出對于一個(gè)(mn)的圖像,我們可以先算出<=某個(gè)灰度值時(shí)的像素出現(xiàn)概率(即對單個(gè)概率相加p1+p2...+pp一直到這個(gè)灰度值的概率為止),為累積分布函數(shù)。然后乘以像素總數(shù),得到小于某個(gè)灰度值像素總數(shù)目A。然后對于新圖像,由于每個(gè)灰度級概率相等,所以像素出現(xiàn)的概率為1/256.灰度值小于等于q時(shí),像素總數(shù)目為總共的概率和q/256乘以像素總數(shù)目mn。
得到圖像均衡化映射E為灰度級<=p時(shí)像素出現(xiàn)的概率總和乘以總灰度級數(shù)L。例子中是256。
編程代碼如下pen畫布畫筆,用于繪制均衡化圖像。n原圖像灰度直方圖矩陣,pixeln圖像中像素總數(shù)。pixels原圖像的getImageData返回對象。用于創(chuàng)建新圖像,并放置修改后的圖像數(shù)據(jù)。用putImageData來繪制修改后的圖像。
返回值為新圖像每個(gè)灰度級像素概率數(shù)組。
1.利用canvas把原始圖像繪制到畫布上。
具體代碼如下:
由于getImageData()得到的圖像數(shù)據(jù)包含圖像像素?cái)?shù)據(jù)data和height 與width三個(gè)數(shù)據(jù)所以取出data放入pixeldata。這個(gè)像素?cái)?shù)據(jù)的數(shù)據(jù)格式為rgba四個(gè)分量,由于灰度圖r,g,b分量相同。所以四個(gè)數(shù)據(jù)代表一個(gè)像素,取出任意一個(gè)分量存放入greydata作為圖像像素矩陣數(shù)據(jù)。
然后基于這個(gè)數(shù)據(jù)制作灰度直方圖。
均衡化效果如下圖:
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/83185.html
摘要:首先介紹跟圖像處理顯示有關(guān)兩個(gè)庫和,然后介紹增強(qiáng)圖像對比度的實(shí)現(xiàn)原理。直方圖均衡化就是為了達(dá)到這個(gè)目的,均衡化后的圖像,像素落在每個(gè)灰度級上的個(gè)數(shù)是相等的。 首先介紹跟圖像處理、顯示有關(guān)兩個(gè)庫:NumPy和Matplotlib,然后介紹增強(qiáng)圖像對比度的實(shí)現(xiàn)原理。 NumPy NumPy是Python用于科學(xué)計(jì)算的基礎(chǔ)庫,提供了一些很有用的概念,如:N維數(shù)組對象,可用于表示向量、矩陣、圖...
摘要:其中負(fù)載均衡那一節(jié),基本上是參考的權(quán)威指南負(fù)載均衡的內(nèi)容。開發(fā)指南讀了一半,就是看這本書理解了的事件循環(huán)。哈哈創(chuàng)京東一本騙錢的書。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由騰訊IVWEB團(tuán)隊(duì) 發(fā)表于云+社區(qū)專欄作者:link 2014年一月以來,自己接觸web前端開發(fā)已經(jīng)兩年多了,記錄一下自己前端學(xué)習(xí)路上看過的,以及道聽途說的一些書,基本上按照由淺入深來介紹...
摘要:其中負(fù)載均衡那一節(jié),基本上是參考的權(quán)威指南負(fù)載均衡的內(nèi)容。開發(fā)指南讀了一半,就是看這本書理解了的事件循環(huán)。哈哈創(chuàng)京東一本騙錢的書。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由騰訊IVWEB團(tuán)隊(duì) 發(fā)表于云+社區(qū)專欄作者:link 2014年一月以來,自己接觸web前端開發(fā)已經(jīng)兩年多了,記錄一下自己前端學(xué)習(xí)路上看過的,以及道聽途說的一些書,基本上按照由淺入深來介紹...
閱讀 1868·2021-11-22 09:34
閱讀 1141·2021-10-09 09:44
閱讀 3001·2021-09-29 09:35
閱讀 3617·2021-09-14 18:01
閱讀 1465·2021-08-16 10:49
閱讀 1084·2019-08-29 14:11
閱讀 849·2019-08-29 12:47
閱讀 3068·2019-08-26 13:47