@startuml

    namespace nl.vaneijndhoven.opencv.tools {

        class DebugTools [[DebugTools.html]] {
            +DebugTools(String, String)
            +output(Mat, String): void
            +output(Mat, Collection<Line>, String, Scalar): void
        }

        class nl.vaneijndhoven.opencv.tools.DebugTools.VoidTools [[DebugTools.VoidTools.html]] {
            +output(Mat, String): void
            +output(Mat, Collection<Line>, String, Scalar): void
        }

        class MemoryManagement [[MemoryManagement.html]] {
            {static} +closable(S): MemoryManagement.ClosableMat<S>
            {static} +scoped(Supplier<S>, Function<S, T>): T
            {static} +scoped(String, Supplier<S>, Function<S, T>): T
            {static} +scoped(Supplier<S>, Consumer<S>): void
            {static} +scoped(String, Supplier<S>, Consumer<S>): void
            {static} +disposable(Mat): Observable<Mat>
        }

        class nl.vaneijndhoven.opencv.tools.MemoryManagement.ClosableMat<S> [[MemoryManagement.ClosableMat.html]] {
            +ClosableMat(S)
            +close(): void
            +get(): S
        }

        class ImageCollector [[ImageCollector.html]] {
            +edges(Mat): void
            +lines(Mat): void
            +startLight(Mat): void
            +mask(Mat): void
            +morph(Mat): void
            +originalFrame(Mat): void
            +edges(): byte[]
            +lines(): byte[]
            +startLight(): byte[]
            +mask(): byte[]
            +morph(): byte[]
            +originalFrame(): byte[]
        }

        DebugTools <|-- nl.vaneijndhoven.opencv.tools.DebugTools.VoidTools

        DebugTools +-- nl.vaneijndhoven.opencv.tools.DebugTools.VoidTools

        class org.opencv.core.Mat
        org.opencv.core.Mat <|-- nl.vaneijndhoven.opencv.tools.MemoryManagement.ClosableMat

        interface java.lang.AutoCloseable {
            {abstract} +close(): void
        }
        java.lang.AutoCloseable <|.. nl.vaneijndhoven.opencv.tools.MemoryManagement.ClosableMat

        MemoryManagement +-- nl.vaneijndhoven.opencv.tools.MemoryManagement.ClosableMat

    }


    center footer UMLDoclet 1.1.4, PlantUML 1.2019.05
@enduml
