Jak znaleźć średnią intensywność konturu OpenCV w czasie rzeczywistym
Mam obraz z około 50 do 100 małymi konturami. Chcę znaleźć średnie natężenie [1] każdego z tych konturów w czasie rzeczywistym [2]. Niektóre ze sposobów, o których mogłem myśleć, były
Narysuj kontur z opcją WYPEŁNIJ dla każdego konturu; użyj każdego obrazu jako maski na oryginalnym obrazie, znajdź średnią. Ale przypuszczam, że ta metoda na pierwszy rzut oka nie będzie w czasie rzeczywistym.
Przeanalizuj implementację OpenCVdrawContour
działają z opcją FILLED i uzyskują dostęp do pikseli ujętych w kontur w ten sam sposób. Ale kod wydaje się naprawdę złożony i niełatwo go zrozumieć.
Oblicz prostokąt powierzchni minimalnej, znajdź wszystkie punkty wewnątrz prostokąta za pomocą transformacji i znajdź średnią punktów niezerowych. Ponownie wydaje się, że jest to skomplikowane podejście.
Czy jest to łatwiejszy i skuteczniejszy sposób?
[1] Średnia wszystkich intensywności pikseli zawartych w każdym z nienakładających się konturów
[2] Około 25 (960 x 480) obrazów pikseli na sekundę na komputerze stacjonarnym 2,66 Ghz