{"id":15903398,"url":"https://github.com/vfdev-5/ocv_pipeline","last_synced_at":"2025-06-19T05:06:03.864Z","repository":{"id":4868039,"uuid":"6022952","full_name":"vfdev-5/OCV_pipeline","owner":"vfdev-5","description":"OpenCV filters are managed using a pipeline for webcam image processsing; VideoInput library is used","archived":false,"fork":false,"pushed_at":"2012-10-12T15:15:43.000Z","size":284,"stargazers_count":0,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-19T05:05:58.677Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vfdev-5.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-09-30T22:16:59.000Z","updated_at":"2023-11-17T08:15:27.000Z","dependencies_parsed_at":"2022-09-10T16:51:41.665Z","dependency_job_id":null,"html_url":"https://github.com/vfdev-5/OCV_pipeline","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vfdev-5/OCV_pipeline","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vfdev-5%2FOCV_pipeline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vfdev-5%2FOCV_pipeline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vfdev-5%2FOCV_pipeline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vfdev-5%2FOCV_pipeline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vfdev-5","download_url":"https://codeload.github.com/vfdev-5/OCV_pipeline/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vfdev-5%2FOCV_pipeline/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260690832,"owners_count":23047099,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-06T12:01:43.197Z","updated_at":"2025-06-19T05:05:58.811Z","avatar_url":"https://github.com/vfdev-5.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"OCV_pipeline\n============\n\nOpenCV filters are managed using a pipeline for webcam image processsing. VideoInput library is used for camera configuration.\n\nIdea is to use a wrapper over OpenCV functionalities as a chain of filters:\nExample:\n\n\n\t// camera handling choice:\n\tCameraCapture_VideoInput cameraCapture;\n\t\n\t// filters:\n\tImageAbstractFilter * motionDetectionFilter = new MotionDetectionFilter();\n\tImageAbstractFilter * histMotionDetectionFilter = new HistMotionDetectionFilter();\n\tImageAbstractFilter * logicalAND = new MathBinaryOpFilter(MathBinaryOpFilter::AND);\n\tImageAbstractFilter * morphoClose = new MorphoFilter(3, MORPH_ELLIPSE, MORPH_CLOSE);\n\tImageAbstractFilter * morphoOpen = new MorphoFilter(3, MORPH_ELLIPSE, MORPH_OPEN);\n\t\n\n\t// Pipeline:\n\tPipeline pipeline;\n\n\tpipeline.addSplit(1);\n\tpipeline.addFilter(1, motionDetectionFilter);\n\tpipeline.addFilter(2, histMotionDetectionFilter);\n\n\tPipelineInput in(1,2);\n\tpipeline.addFilter(in, logicalAND);\n\n\tpipeline.addFilter(1, morphoOpen);\n\tpipeline.addFilter(1, morphoClose);\n\n\n          // Set keyboard handler:\n\tKeyboardHandle keyHandler;\n\tstring path = \"data/\";\n\tkeyHandler.addKey('p', KeyboardHandle::SAVE_MATRIXDATA_ON_DISK, 0, path + \"template_image.yml\");\n\tkeyHandler.addKey('p', KeyboardHandle::SAVE_IMAGE_ON_DISK, 0, path + \"template_image.jpg\");\n\tkeyHandler.addKey('p', KeyboardHandle::SAVE_MATRIXDATA_IN_BUFFER, 0, \"templ\");\n\tkeyHandler.addKey('l', KeyboardHandle::LOAD_MATRIXDATA_FROM_DISK_INTO_BUFFER, \"templ\", path + \"template_image.yml\");\n\t\n\t// Run camera capture:\n\tcameraCapture.setPipeline(\u0026pipeline);\n\tcameraCapture.setKeyboardHandler(\u0026keyHandler);\n\tcameraCapture.run();\n\t\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvfdev-5%2Focv_pipeline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvfdev-5%2Focv_pipeline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvfdev-5%2Focv_pipeline/lists"}