在一個(gè)圖像的RGB值中如何構(gòu)建直方圖,來(lái)幫助改善色彩平衡。 文章內(nèi)容信息由The Big Data Zone 和Hortonworks提供(Hortonworks是一家位于美國(guó)加州帕拉奧圖的商業(yè)計(jì)算機(jī)軟件公司,專注于Apache Hadoop的開發(fā)和支持)。我們將學(xué)習(xí)了解關(guān)聯(lián)的數(shù)據(jù)平臺(tái),它能提升現(xiàn)代數(shù)據(jù)應(yīng)用創(chuàng)新能力以及學(xué)習(xí)它們?nèi)绾畏窒砜尚行缘那閳?bào)信息。 36大數(shù)據(jù)專稿,原文作者 Josh Anderson 本文由36大數(shù)據(jù)翻譯,任何不標(biāo)明譯者和出處以及本文鏈接http://www./archives/46187均為侵權(quán)。 我覺得可視化照片中包含的數(shù)據(jù)是一件很有趣的行為。一些相機(jī)和照片編輯軟件只能做到這一點(diǎn),從圖像含有的紅色(R)、綠色(G)和藍(lán)色(B)值(常說(shuō)的“三原色”)構(gòu)建直方圖,來(lái)幫助專業(yè)攝影師/編輯判斷和改善色彩平衡。為了說(shuō)明這一點(diǎn),我將在下文提到使用下面的彩色照片及其灰度對(duì)應(yīng)。 通過(guò)灰白圖片是最容易開始的,根據(jù)定義,它對(duì)于任何給定的像素的三原色(R,G,B值)是一樣的。在左邊有一個(gè)灰度值為0,這意味著(R,G,B)的值為(0,0,0),即黑色;右邊(255、255、255)為白色。在兩者中我們有254種都是灰色。 備注:Grayscale-image histogram灰度圖像直方圖 ;Number of pixels像素?cái)?shù);Gray value灰色值 這是為數(shù)不多的情況:在圖表中使用梯度,可能這實(shí)際上有助于理清事情,在這種情況下,根據(jù)它所顯示的灰度值進(jìn)行顏色標(biāo)記。唯一的問(wèn)題是選擇一個(gè)中性的背景顏色。 備注:Grayscale-image histogram灰度圖像直方圖;Number of pixels像素?cái)?shù);Gray value灰度值 彩色圖像里,我們需要分別地繪制出每一個(gè)R,G,B的直方圖。為了減少雜亂,它是使用線條而不是條形圖,但由于有明智的配色方案所以他們可能不需要標(biāo)記。 備注:RGB-image histogram RGB圖像直方圖;Number of pixels像素?cái)?shù);Value數(shù)值 除了實(shí)現(xiàn)良好的色彩平衡,我覺得還有另一個(gè)問(wèn)題,是一個(gè)很有趣的探討:這對(duì)網(wǎng)頁(yè)開發(fā)很重要:即壓縮。JPEG壓縮是一個(gè)相當(dāng)復(fù)雜的話題,我承認(rèn)我還沒有真正地弄懂它。上面的彩色照片是我拍的一張高質(zhì)量的(低壓縮)原始的微型(800萬(wàn)像素)的圖片。它是 46 千字節(jié)的大小。下圖是相同的像素?cái)?shù),但更加高度壓縮,質(zhì)量較低。然而,它的大小只有九個(gè)千字節(jié)。 照片中的低質(zhì)量應(yīng)該是顯而易見的,但是RGB直方圖看起來(lái)明顯不同嗎?之前嘗試這個(gè)時(shí)我真的不知道會(huì)發(fā)生什么。然而下面的直方圖明顯不同于上面的,他們沒有因此而驚呼“相比另外一張圖片,這張圖片被壓縮得更多”。 備注:Histogram for low-quality JPGE 低質(zhì)量JPEG的直方圖;Number of pixels像素?cái)?shù);Value數(shù)值 JPEG格式,也可以選擇PNG格式。這張照片是8字節(jié)的PNG格式。 這張照片看起來(lái)比低質(zhì)量的JPEG的要好很多,但也比它大了六倍(根據(jù)文件大小)和比高質(zhì)量的JPEG大了三分之一。直方圖也是非常不同和難以閱讀的(還請(qǐng)注意垂直尺度的差異)。 備注:Histogram for 8-bits png 8位元PNG(一種圖形文件格式)的直方圖;Number of pixels 圖像像素?cái)?shù);Value 數(shù)值 這個(gè)混亂的直方圖的導(dǎo)致的事實(shí)是,只有256種不同的顏色可用于一個(gè)8字節(jié)的PNG (就像一個(gè)GIF). 上面的直方圖數(shù)據(jù)可以從Photoshop和可能其他的圖片編輯軟件中提取(至少一些版本的PS可以提取)。但是沒有發(fā)現(xiàn)直方圖有任何重大區(qū)別,關(guān)于高低質(zhì)量的JPEG我很好奇,想看看RGB數(shù)據(jù)是否有更復(fù)雜的表達(dá),能突出差異。這需要提取各個(gè)RGB值,不只是為了不同的頻道。 我不知道在Photoshop中如何做到這一點(diǎn),所以我用R (也可用其他選項(xiàng))。在一個(gè)理想世界里三維散點(diǎn)圖可以做到很好,每一個(gè)R,G,B的維度,但三維散點(diǎn)圖在二維屏幕上很少用到。所以我選擇了一種更傳統(tǒng)的二維散點(diǎn)圖,用標(biāo)點(diǎn)顏色來(lái)展示第三種顏色。在下面的例子中我(有些隨意)選擇繪制藍(lán)色值對(duì)比紅色值,根據(jù)綠色值把點(diǎn)標(biāo)上顏色。例如,一個(gè)數(shù)據(jù)點(diǎn)代表一個(gè)圖像像素的R,G,B值(30、96、92),那么將在圖表上被繪制成點(diǎn)(30, 92),還有一個(gè)RGB顏色(0,96,0)。 我最初嘗試去做這個(gè)時(shí)遇到了一些嚴(yán)重的越點(diǎn)繪制問(wèn)題。為了減少這樣的情況,但不是完全消除,我將點(diǎn)繪制的更小些,以及隨機(jī)抽取“僅僅”20000個(gè)點(diǎn)作為樣本 (將近20%的數(shù)據(jù))。我還添加了邊際分布(即相關(guān)的直方圖)在繪圖的無(wú)標(biāo)記的末端上。這些都來(lái)源于所有的圖像像素,不僅僅是樣本。 Scatter plot for high-quality jpeg 高質(zhì)量JPEG散點(diǎn)圖:Blue value 藍(lán)色值:Red value 紅色值 Scatter plot for low-quality jpeg 低質(zhì)量JPEG散點(diǎn)圖;Blue value藍(lán)色值;Red value紅色值 Scatter plot for 8-bit PNG 8字節(jié)PNG散點(diǎn)圖;Blue value藍(lán)色值;Red value紅色值 現(xiàn)在我們可以看到高低質(zhì)量的JPEG文件之間的一個(gè)差異:后者的點(diǎn)和差距有更為明顯對(duì)角區(qū)段。檢查數(shù)據(jù),發(fā)現(xiàn)在 105000像素的高質(zhì)量的JPEG中大約有20000種不同的RGB值,但是只有15000個(gè)低質(zhì)量的JPEG。至于PNG圖,那是一個(gè)越點(diǎn)繪制的極端例子。確實(shí)是20000點(diǎn)被繪制,它們只是占有幾百個(gè)不同的位置。 最終你可能成長(zhǎng)為一個(gè)不懂復(fù)雜圖像壓縮的網(wǎng)頁(yè)設(shè)計(jì)師或開發(fā)人員,我仍然不確定JPEG壓縮實(shí)際上是如何運(yùn)作的。但是我覺得了解下層數(shù)據(jù)布置以及通過(guò)試驗(yàn)構(gòu)建自己的數(shù)據(jù)是很有趣的。 這篇文章最初發(fā)表在由蒂姆 · 布洛克 Infragistics博客上。 文章來(lái)源36大數(shù)據(jù),微信公眾號(hào)dashuju36 36大數(shù)據(jù)是一個(gè)專注大數(shù)據(jù)創(chuàng)業(yè)、大數(shù)據(jù)技術(shù)與分析、大數(shù)據(jù)商業(yè)與應(yīng)用的網(wǎng)站。分享大數(shù)據(jù)的干貨教程和大數(shù)據(jù)應(yīng)用案例,提供大數(shù)據(jù)分析工具和資料下載,解決大數(shù)據(jù)產(chǎn)業(yè)鏈上的創(chuàng)業(yè)、技術(shù)、分析、商業(yè)、應(yīng)用等問(wèn)題,為大數(shù)據(jù)產(chǎn)業(yè)鏈上的公司和數(shù)據(jù)行業(yè)從業(yè)人員提供支持與服務(wù)。 End. |
|