我使用的OpenCV在Android項目工作,我使用的是表面,以實現自己的相機閃光燈,因爲我想爲用戶提供反饋用戶關於他們正在採取的圖片來幫助他們提高質量。我正在試圖做的是檢測他們是如何暗的圖像將要採取並建議他們使用閃光燈。提前致謝。如何知道如果圖像過暗,它需要使用OpenCV的
1
A
回答
1
如果您可以控制相機的參數,請考慮在使用閃光燈之前對其進行調整。如果你想在全球曝光X2因素,您可以:
- 乘曝光時間通過
- 鴻溝光圈值(或F-數)由sqrt(2)
- multiply gain通過(這會增加一些噪音)
現在回答這個問題,如果你已經知道如何使用OpenCV
存取像素的圖像,我首先建議你將其轉換使用cvtColor
灰度,然後就可以計算(對於每個圖像)的像素強度(cv::sum
)的總和與限定的閾值下,其圖像是「太暗」。僞代碼
爲例(這要根據你的需要/應用細化):
while sum(pixels) < threshold
it_nb=0
exp_time += 0.1 (second)
if it_nb>fixed_limit or if (exp_time/gain cannot be increased anymore)
print 'use flash'
break
+0
請注意,增加曝光時間也會增加噪音。 我在你的答案中修復了一個錯誤。爲了獲得更多的光線,f值必須減小! – Piglet
相關問題
- 1. 我需要知道如何使用string.maketrans
- 2. 需要知道如何使代碼更
- 3. 如何通過它知道圖像的大小url
- 4. 如何知道圖像是否需要縮小?
- 5. Spring如何知道需要調用ThrowsAdvice.afterThrowing?
- 6. Shopify架構設置圖像的使用(需要知道語法)
- 7. 如何知道OpenCV中的圖像是否爲RGB?
- 8. 我是否需要知道Python才能使用OpenCV
- 9. 如果我知道它的名字,我如何獲取圖像的資源ID?
- 10. 如何通過使用Image類知道圖像類型/格式
- 11. 我需要知道如何使餅圖中RStudio閃亮/ shinydashboard
- 12. 的iOS/Objective-C的如何知道如果圖像是其他
- 13. 如何知道python我需要小數?
- 14. 需要知道叉如何工作?
- 15. 如何知道我需要哪個RedirectToAction?
- 16. 編譯器如何知道它需要返回表達式樹?
- 17. url如何知道它需要到達哪個服務器?
- 18. RealSense的OpenCV深度圖像太暗
- 19. 如何變暗圖像
- 20. OpenCV:如何使用4個通道加載png圖像?
- 21. 如何使用opencv獲取鳥瞰道路圖像?
- 22. 如何知道如果div背景圖像加載
- 23. 需要知道如何使用nosql數據庫與紅寶石
- 24. 需要知道如何讓這片JSON到使用jQuery/JS
- 25. 如何知道我是否需要使用Markdown庫?
- 26. 如何知道單擊的圖像
- 27. 如何使標題圖像更暗
- 28. 使用opencv獲取圖像的較暗線條
- 29. SQL需要分組,但我不知道它是如何應用的
- 30. Kinect和Opencv,深度圖像,如何使用它
直方圖來判斷圖像的亮度和對比度非常好的工具。讀一些關於他們和如何解釋他們。除此之外,應該有大量的在線資源。只是谷歌自動曝光算法,如你會發現很多關於數碼相機正在發生的事情的論文。我相信也會有一些關於Flash的有用的東西。 – Piglet