{"id":16654372,"url":"https://github.com/sergioragostinho/cvl","last_synced_at":"2026-05-20T01:07:15.998Z","repository":{"id":75079396,"uuid":"90263809","full_name":"SergioRAgostinho/cvl","owner":"SergioRAgostinho","description":"(yet another) Computer Vision Library","archived":false,"fork":false,"pushed_at":"2017-10-26T08:37:28.000Z","size":126,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-19T11:24:03.393Z","etag":null,"topics":["c-plus-plus","c-plus-plus-14","computer-vision"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SergioRAgostinho.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-04T13:02:39.000Z","updated_at":"2021-09-16T03:21:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"44d4324b-bae3-4d19-a79c-ab01e5a430a9","html_url":"https://github.com/SergioRAgostinho/cvl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergioRAgostinho%2Fcvl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergioRAgostinho%2Fcvl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergioRAgostinho%2Fcvl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergioRAgostinho%2Fcvl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SergioRAgostinho","download_url":"https://codeload.github.com/SergioRAgostinho/cvl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243269173,"owners_count":20263999,"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":["c-plus-plus","c-plus-plus-14","computer-vision"],"created_at":"2024-10-12T09:49:35.139Z","updated_at":"2025-12-29T01:33:34.082Z","avatar_url":"https://github.com/SergioRAgostinho.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# (yet another) Computer Vision Library (CVL) documentation\n\n[![Build Status](https://travis-ci.org/SergioRAgostinho/cvl.svg?branch=master)](https://travis-ci.org/SergioRAgostinho/cvl) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\n## Introduction\n\nThis library was designed to be cross-platform on all three major desktop operative systems, although it was mainly developed on two machines running Mac OS X and Ubuntu. This makes it likely that additional changes are required in order to have it running on Windows.\n\nThe code is licensed under the [Apache License 2.0](https://tldrlegal.com/license/apache-license-2.0-(apache-2.0)).\n\nCurrently there's not much you can do with `cvl` other than running the [`vgm_grabber`](https://github.com/SergioRAgostinho/cvl/blob/master/examples/vgm_grabber/vgm_grabber.cpp) example. That example in particular loads a model from the dataset and renders its wireframe on top of the groundtruth footage provided. On its own it might look practically useless, but in order to achieve it a number of useful baseline code was implemented, which will definitely be worth something to any user wanting to make use of that dataset from C++. Then again this is version 0.1 of the library. Please refer to the [Wiki page](https://github.com/SergioRAgostinho/cvl/wiki/Running-the-vgm_grabber-example) of the example for further information.\n\n## Requirements\n\n### Compiler support\n\n`cvl` is targeting C++14 feature set (which should become the default supported mode , therefore you'll need a compiler which supports it. Out of the top of my head here's some of the things which the library currently makes use:\n-\tAliases\n-\t`auto` runtime type deduction\n-\tfor-range loops\n-\t`std::unique_ptr` and `std::shared_ptr`\n-\t`emplace_back ()`\n-\tUniversal references and `std::forward` for perfect forwarding functionalities\n-\t`std::forward_list`\n-\t`std::thread`, `std::async` and `std::future`\n-\t`constexpr`\n-\t`noexcept`\n-\t(and the list goes on...)\n\n### Dependencies\n\nBelow is the current list of dependencies. `M` stands for mandatory and `R` is recommended.\n\n\n| Library/Tool/App | Type | Version | Comments |\n|------------------|------|---------|----------|\n| CMake\t\t\t   | M    | 3.7     | The core build system. |\n| pkg-config\t   |      |         | It aids a lot the search for dependencies. |\n| Eigen\t   \t\t   | M    | 3       | The foundation for `cvl`'s linear algebra functionalities. |\n| OpenCV   \t\t   | M    | 3       | `core`, `videoio`, `highgui` and `imgproc` modules. |\n| nanoflann\t\t   | R    | HEAD    | A stripped down version of FLANN, used in the `search` modele. I submitted the [formula](https://github.com/Homebrew/homebrew-science/pull/6139) recently to [homebrew-science](https://github.com/Homebrew/homebrew-science)|\n| TinyXML2\t\t   |      | \t    | Used to parse XML for the `VgmGrabber` in `io`. |\n| MATLAB\t\t   |      | \t    | `cvl` makes use of the `mat` and `mx`libraries to read out the data from the VGM Dataset models with it. |\n| GoogleTest\t   |      | \t    | Enables building the unit tests. Coverage is less than minimal at this point. |\n| Doxygen\t   \t   |      | 1.8.0   | Used to generate the documentation. |\n\n\n## Frequently Asked Questions (F.A.Q.)\n\n1. \t**Q: Why is was the namespace `ht` used instead of `cvl` for instance?**\n\n\tA: `ht` is an abbreviation for HipsterTech, the name of an [organization](https://github.com/HipsterTech) I'm a co-founder of, and which one day might do something noteworthy and (not necessarily) useful.\n\n2. \t**Q: Why does the overall API an module structure look awfully close to [Pointcloud Library (PCL)](https://github.com/PointCloudLibrary/pcl)?**\n\n\tA: I'm one of its maintainers, so it's only natural that I take advantage of some of the successful design patterns it uses.\n\n3. \t**Q: Why did you set the target versions of C++ and CMake to such high values?**\n\n\tA: This is a new library and I don't like having backwards compatibility preventing me from using recent features. Ultimately no one likes to reinvent the wheel.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergioragostinho%2Fcvl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsergioragostinho%2Fcvl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergioragostinho%2Fcvl/lists"}