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

questionAnswers(1)

yourAnswerToTheQuestion