0
Q
檢測閃爍的燈光
A
回答
0
如果光源在圖像中非常突出,您可以使用圖像的平均強度來檢測變化。
這是一個非常簡單的例子。我使用this視頻進行測試。 您可能需要調整視頻的閾值。
如果您的視頻不像我用於測試的視頻那麼簡單,則可能需要進行一些調整。例如,如果在圖像的其他部分有太多分心,可以嘗試先分割光源。或者,如果連續圖像之間的強度變化不夠大,則可能需要查看幾幅圖像的變化。
編輯:
我剛纔看到的問題是標記有蟒蛇,但我的源代碼是C++。但我暫時離開它。也許它可以幫助您獲得一般想法,以便您可以將它自己移植到python。
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
int main(int argc, char** argv)
{
VideoCapture capture(argv[1]);
Mat frame;
if(!capture.isOpened())
throw "Error when reading video";
double lastNorm = 0.0;
int lastCounter = 0;
int counter = 0;
int currentState = 0;
namedWindow("w", 1);
for(; ;)
{
capture >> frame;
imshow("w", frame);
double currentNorm = norm(frame);
double diffNorm = currentNorm - lastNorm;
if (diffNorm > 20000 && currentState == 0)
{
currentState = 1;
std::cout << "on - was off for " << counter - lastCounter << " frames" << std::endl;
lastCounter = counter;
}
if (diffNorm < -20000 && currentState == 1)
{
currentState = 0;
std::cout << "off - was on for " << counter - lastCounter << " frames" << std::endl;
lastCounter = counter;
}
waitKey(20); // waits to display frame
lastNorm = currentNorm;
counter++;
}
waitKey(0); // key press to close window
// releases and window destroy are automatic in C++ interface
}
相關問題
- 1. OpenCV的檢測閃爍的燈光
- 2. 未檢測到閃光燈
- 3. 面部檢測閃光燈
- 4. OpenCV:檢測視頻中閃爍的燈光
- 5. 閃光燈保持閃爍onmouseover,jquery
- 6. 在相同頻率閃爍的Android上實施閃光燈(閃光燈閃爍)效果
- 7. 的SWFObject和jQuery熔岩燈插件,閃光燈閃爍在FF
- 8. Javascript螢光燈閃爍效果
- 9. 閃光/閃爍UIView
- 10. Laravel輸入::閃光燈()如何檢索閃光燈值
- 11. 粘滯導航像閃爍燈閃爍
- 12. 閃光 - 檢測鍵
- 13. 在Android中使用相機閃光燈閃爍
- 14. nodejs +護照+快遞3.0 +連接閃光燈不閃爍?
- 15. 我怎樣才能讓android閃光燈閃爍?
- 16. 創建閃光燈,使用處理程序閃爍背景
- 17. 如何讓android手機閃光燈閃爍?
- 18. 相機閃光燈快速(100Hz或更多)閃爍LED
- 19. 使用串行數據閃爍iPhone LED閃光燈 - iOS
- 20. 閃光燈
- 21. 閃光燈
- 22. Windows Phone 7中的指示燈閃爍檢測
- 23. 如何使閃爍閃光燈照相燈開/關在android系統?
- 24. 閃爍的DIV幻燈片
- 25. jQuery的檢查閃光燈請求
- 26. OpenGL ES強光閃光燈
- 27. 用於檢測LED閃光燈的Python庫
- 28. 全屏模式下測試閃光燈
- 29. 閃光燈爲Android
- 30. 使用閃光燈
你能否提供一個示例視頻來展示輸入是怎樣的? – sietschie
@sietschie我還不能,但想象一下,看着大屏幕電視的相機,在電視屏幕上閃爍......白色,黑色,白色。我想打開簡歷來檢測,關閉,爲此。 – GrantU
如果光線覆蓋足夠大的圖像區域,則可以使用圖像的平均強度。如果你得到這個圖像序列,你只需要尋找亮度的突然變化,這很可能意味着光線已經改變。 – sietschie