對於數據庫應用程序,我試圖根據色階來確定照片的平均陰影。作爲一個新手,我發現這很難解釋,所以我創建了一個簡單的圖表,顯示了我想要達到的目標。從圖像中,我如何確定陰影?
http://www.knockyoursocksoff.com/shade/
如果有人有給我一些想法的時候,我會非常感激。
祝你好運,
沃倫。
對於數據庫應用程序,我試圖根據色階來確定照片的平均陰影。作爲一個新手,我發現這很難解釋,所以我創建了一個簡單的圖表,顯示了我想要達到的目標。從圖像中,我如何確定陰影?
http://www.knockyoursocksoff.com/shade/
如果有人有給我一些想法的時候,我會非常感激。
祝你好運,
沃倫。
我想我會通過只是平均的像素值開始:
for x = start_x to end_x
for y = stary_y to end_y
total += getPixel(x,y)
shade = total/(xlen*ylen)
它去是更復雜,如果你在顏色做。
如果您正在使用彩色照片,則應先將選定區域從RBG(紅色,綠色,藍色)轉換爲HSL/HSV(article)。
HSL代表「色調,飽和度,亮度」。 您感興趣的數字是明度。
在最一般的術語中,亮度指的是你如何感知彩色表面的亮度。很難用紅色/綠色/藍色的組件來說明一塊紅色比一塊藍色更亮/更暗。轉換爲HSL可以解決這個問題。
完成轉換後,您可以簡單地平均所選區域的亮度值。
關於亮度值的快速注意事項:從技術上講,您不能簡單地平均亮度值,因爲亮度感覺不是線性的(article)。但是,除非你正在編寫一個非常科學的應用程序,否則簡單地平均亮度就會給你一個「足夠準確」的價值。
在Adobe Photoshop中,他們把它叫做HSB(色調,飽和度,亮度)
你有可用來確定圖像的陰影是什麼語言(Java,C ,C++等)? ANSI SQL不能做到這一點,所以你需要一些其他應用程序作爲CRON作業或類似的東西來運行。對於C,總是有OpenCV:http://opencv.willowgarage.com/wiki/ –
openCV看起來很有趣。從來沒有聽說過它,但我一直試圖以編程方式從相機中獲取圖像,而且看起來就像是這樣。 – nont