2012-10-22 53 views
0

我想要一種算法來檢測圖像是否具有較高的專業質量,或者是對比度較差,光線較弱等。如何設計這樣的算法。如何自動檢測圖像是否具有高質量?

我覺得這是可行的,因爲如果我在Picassa中按下一個按鈕,它嘗試修復照明,對比度和顏色。現在我已經看到,如果按下自動修復按鈕,那麼效果不好,因爲在壞的圖像中變化不是很高。這可以用作主角嗎?

請給我任何想法。此外,如果這已經完成,我正在做輪子發明的事情,請阻止我,並指向我以前的工作。

非常感謝,

+4

步驟#1在#2上閱讀一些閱讀。這在許多不同的教科書和大學課程以及可能的衆多在線資源中都有涉及(我之前也見過一些相關的SO問題)。 – 2012-10-22 20:08:47

+0

檢查出OpenCV – Stanley

+4

爲什麼所有的流行語? ('SVM','人工智能','機器學習')除非您正在尋找某種照片的幻想分類,否則有幾種「圖像處理」的測量和技術,可以爲我的想法提供簡單的啓發式你正在努力實現。遵循pst的建議先閱讀並返回更具體的問題;首先要對圖像處理進行讀取,因爲即使統計方法最終需要滿足您的需求,SVM或其他設備的屬性將基於數字圖像的概念。 – mjv

回答

3

您正在使這種方式太難。我在生產代碼中處理了這個問題:生成圖像的直方圖,丟棄異常值(1個黑色像素並不意味着整個圖像有很多黑色; 1個白色像素並不意味着明亮的圖像),然後看看由此產生的分佈涵蓋了足夠的亮度範圍。

在統計方面,你也可以看到,如果直方圖近似的高斯分佈令人滿意的大標準偏差。如果整個圖像呈中等灰色並帶有微小的stddev,則根據定義,您的圖像對比度較低。如果平均值大約爲中等灰度,但stddev覆蓋了從20%到80%的亮度水平,那麼您就有一個不錯的對比度。

但要注意的是,這些方法都不需要任何遠程類似的機器學習。

+0

我的觀點,確切地說! – mjv

+0

@Kirk感謝您的評論。這是我想要嘗試的第一件事。如果你有他們,你能分享一些準確性數字嗎? – user1521607

+0

@Kirk當你說'這樣做太難'時,你從ML工程師的角度看不到它。投擲在SVM中對我來說是一個函數調用,我多年來一直在做這個函數,並且理解了什麼/如何/爲什麼等等。所以這個「停止機器學習」的原因是它的複雜性來自於一個堅定的工程師的角度。在調試彙編代碼之前,我會暈倒,但這是固件工程師生命中的一天。希望我的觀點清楚。 – user1521607

2

有跡象表明,你作爲一個低質量圖像的指示尋找一種圖像校正的幾個開源項目。 Gimp(見enhancing photos從文檔)和ImageMagick(見對比度拉伸,規範化,自適應銳化,從examples自動電平)浮現在腦海中。

學習他們的代碼將是一個良好的開端,因爲一個明顯的方法來檢測一個低質量的圖像是通過上述的增強算法一個把圖像,並尋找原始和處理後的圖像之間的差異。

相關問題