{"id":27940589,"url":"https://github.com/khronosgroup/openvx-samples","last_synced_at":"2025-06-13T09:04:48.824Z","repository":{"id":47021921,"uuid":"233156783","full_name":"KhronosGroup/openvx-samples","owner":"KhronosGroup","description":"OpenVX Samples to use with any conformant implementation of OpenVX","archived":false,"fork":false,"pushed_at":"2024-02-02T05:01:13.000Z","size":5254,"stargazers_count":106,"open_issues_count":5,"forks_count":27,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-05-07T10:18:33.315Z","etag":null,"topics":["api","bubble-pop","canny","canny-edge-detection","canny-live","computer-vision","cross-platform","khronos-openvx","khronosgroup","open-source","open-standard","opencv","openvx","openvx-conformant","openvx-graph","openvx-sample","openvx-samples","royalty-free","skin-tone-detect","skin-tone-sample"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KhronosGroup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-11T01:08:17.000Z","updated_at":"2025-04-11T17:29:09.000Z","dependencies_parsed_at":"2022-09-02T22:50:37.097Z","dependency_job_id":null,"html_url":"https://github.com/KhronosGroup/openvx-samples","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2Fopenvx-samples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2Fopenvx-samples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2Fopenvx-samples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2Fopenvx-samples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KhronosGroup","download_url":"https://codeload.github.com/KhronosGroup/openvx-samples/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252856570,"owners_count":21814858,"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":["api","bubble-pop","canny","canny-edge-detection","canny-live","computer-vision","cross-platform","khronos-openvx","khronosgroup","open-source","open-standard","opencv","openvx","openvx-conformant","openvx-graph","openvx-sample","openvx-samples","royalty-free","skin-tone-detect","skin-tone-sample"],"created_at":"2025-05-07T10:18:41.823Z","updated_at":"2025-05-07T10:18:42.452Z","avatar_url":"https://github.com/KhronosGroup.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n\u003cp align=\"center\"\u003e\u003cimg width=\"50%\" src=\"https://upload.wikimedia.org/wikipedia/commons/d/dd/OpenVX_logo.svg\" /\u003e\u003c/p\u003e\n\n# OpenVX Samples\n\n\u003ca href=\"https://www.khronos.org/openvx/\" target=\"_blank\"\u003eKhronos OpenVX™\u003c/a\u003e is an open, royalty-free standard for cross-platform acceleration of computer vision applications. OpenVX enables performance and power-optimized computer vision processing, especially important in embedded and real-time use cases such as face, body, and gesture tracking, smart video surveillance, advanced driver assistance systems (ADAS), object and scene reconstruction, augmented reality, visual inspection, robotics and more.\n\nIn this project, we provide OpenVX sample applications to use with any conformant implementation of OpenVX.\n\n* [VX Bubble Pop Sample](#vx-bubble-pop-sample)\n* [VX Canny Edge Detector Sample](#canny-edge-detector-sample)\n* [VX Skin Tone Detector Sample](#skin-tone-detector-sample)\n\n ## VX Bubble Pop Sample\n\nIn this sample we will create an OpenVX graph to run VX Bubble Pop on a live camera. This sample application uses \u003ca href=\"https://en.wikipedia.org/wiki/OpenCV\" target=\"_blank\"\u003eOpenCV\u003c/a\u003e to decode input image, draw bubbles/donuts and display the output.\n\n \u003cp align=\"center\"\u003e\u003cimg width=\"60%\" src=\"images/vx-pop-app.gif\" /\u003e\u003c/p\u003e\n\n### Prerequisites\n\n* [Conformant OpenVX Implementation](https://github.com/KhronosGroup/Khronosdotorg/blob/master/api/openvx/resources.md)\n\n* [OpenCV](https://github.com/opencv/opencv/releases/tag/3.4.0)\n\n* Camera\n\n### Steps to run the Bubble Pop sample\n\n* **Step - 1:** Build and install [Conformant OpenVX Implementation](https://github.com/KhronosGroup/OpenVX-sample-impl). In this example we will use the OpenVX Sample Implementation available on [GitHub](https://github.com/KhronosGroup/OpenVX-sample-impl)\n\n```\nBuild OpenVX on Linux\n\n* Git Clone project with a recursive flag to get submodules\n\n      git clone --recursive https://github.com/KhronosGroup/OpenVX-sample-impl.git\n\n* Use Build.py script\n\n      cd OpenVX-sample-impl/\n      python Build.py --os=Linux --arch=64 --conf=Debug --conf_vision --enh_vision --conf_nn\n```\n\n* **Step - 2:** Export OpenVX Directory Path\n\n```\nexport OPENVX_DIR=$(pwd)/install/Linux/x64/Debug\n```\n\n* **Step - 3:** Clone the OpenVX Samples project and build the bubble pop application\n\n```\ncd ~/ \u0026\u0026 mkdir OpenVXSample-pop\ncd OpenVXSample-pop/\ngit clone https://github.com/kiritigowda/openvx-samples.git\n```\n\n* **Step - 4:** CMake and Build the pop application\n\n```\nmkdir pop-build \u0026\u0026 cd pop-build\ncmake -DOPENVX_INCLUDES=$OPENVX_DIR/include -DOPENVX_LIBRARIES=$OPENVX_DIR/bin/libopenvx.so ../openvx-samples/bubble-pop/\nmake\n```\n\n* **Step - 5:** Run VX Pop application\n\n    * **Bubbles**\n    \n    ```\n    ./vxPop --bubble\n    ```\n    \n    * **Donuts**\n    \n    ````\n    ./vxPop --donut\n    ````\n\n## Canny Edge Detector Sample\n\nIn this sample we will create an OpenVX graph to run canny edge detection on an image or a live camera. This sample application uses \u003ca href=\"https://en.wikipedia.org/wiki/OpenCV\" target=\"_blank\"\u003eOpenCV\u003c/a\u003e to decode input image and display the output. \n\n \u003cp align=\"center\"\u003e\u003cimg width=\"60%\" src=\"images/canny_image.PNG\" /\u003e\u003c/p\u003e\n\n### Prerequisites\n\n* [Conformant OpenVX Implementation](https://github.com/KhronosGroup/Khronosdotorg/blob/master/api/openvx/resources.md)\n\n* [OpenCV](https://github.com/opencv/opencv/releases/tag/3.4.0)\n\n### Steps to run the canny sample\n\n* **Step - 1:** Build and install [Conformant OpenVX Implementation](https://github.com/KhronosGroup/OpenVX-sample-impl). In this example we will use the OpenVX Sample Implementation available on [GitHub](https://github.com/KhronosGroup/OpenVX-sample-impl)\n\n```\nBuild OpenVX on Linux\n\n* Git Clone project with a recursive flag to get submodules\n\n      git clone --recursive https://github.com/KhronosGroup/OpenVX-sample-impl.git\n\n* Use Build.py script\n\n      cd OpenVX-sample-impl/\n      python Build.py --os=Linux --arch=64 --conf=Debug --conf_vision --enh_vision --conf_nn\n```\n\n* **Step - 2:** Export OpenVX Directory Path\n\n```\nexport OPENVX_DIR=$(pwd)/install/Linux/x64/Debug\n```\n\n* **Step - 3:** Clone the OpenVX Samples project and build the canny application\n\n```\ncd ~/ \u0026\u0026 mkdir OpenVXSample-canny\ncd OpenVXSample-canny/\ngit clone https://github.com/kiritigowda/openvx-samples.git\n```\n\n* **Step - 4:** CMake and Build the canny application\n\n```\nmkdir canny-build \u0026\u0026 cd canny-build\ncmake -DOPENVX_INCLUDES=$OPENVX_DIR/include -DOPENVX_LIBRARIES=$OPENVX_DIR/bin/libopenvx.so ../openvx-samples/canny-edge-detector/\nmake\n```\n\n* **Step - 5:** Run Canny application\n\n    * **Live**\n    \n    ```\n    ./cannyEdgeDetector --live\n    ```\n\n    * **Image**\n    \n    ````\n    ./cannyEdgeDetector --image ../openvx-samples/images/face.png\n    ````\n \u003cp align=\"center\"\u003e\u003cimg src=\"images/canny-app.png\" /\u003e\u003c/p\u003e\n \n ## Skin Tone Detector Sample\n\nIn this sample we will create an OpenVX graph to run skintone detection on an image or a live camera. This sample application uses \u003ca href=\"https://en.wikipedia.org/wiki/OpenCV\" target=\"_blank\"\u003eOpenCV\u003c/a\u003e to decode input image and display the output.\n\n \u003cp align=\"center\"\u003e\u003cimg width=\"60%\" src=\"images/skintone-detect-app.png\" /\u003e\u003c/p\u003e\n\n### Prerequisites\n\n* [Conformant OpenVX Implementation](https://github.com/KhronosGroup/Khronosdotorg/blob/master/api/openvx/resources.md)\n\n* [OpenCV](https://github.com/opencv/opencv/releases/tag/3.4.0)\n\n### Steps to run the skin tone sample\n\n* **Step - 1:** Build and install [Conformant OpenVX Implementation](https://github.com/KhronosGroup/OpenVX-sample-impl). In this example we will use the OpenVX Sample Implementation available on [GitHub](https://github.com/KhronosGroup/OpenVX-sample-impl)\n\n```\nBuild OpenVX on Linux\n\n* Git Clone project with a recursive flag to get submodules\n\n      git clone --recursive https://github.com/KhronosGroup/OpenVX-sample-impl.git\n\n* Use Build.py script\n\n      cd OpenVX-sample-impl/\n      python Build.py --os=Linux --arch=64 --conf=Debug --conf_vision --enh_vision --conf_nn\n```\n\n* **Step - 2:** Export OpenVX Directory Path\n\n```\nexport OPENVX_DIR=$(pwd)/install/Linux/x64/Debug\n```\n\n* **Step - 3:** Clone the OpenVX Samples project and build the Skin Tone application\n\n```\ncd ~/ \u0026\u0026 mkdir OpenVXSample-skintone\ncd OpenVXSample-skintone/\ngit clone https://github.com/kiritigowda/openvx-samples.git\n```\n\n* **Step - 4:** CMake and Build the Skin Tone application\n\n```\nmkdir skintone-build \u0026\u0026 cd skintone-build\ncmake -DOPENVX_INCLUDES=$OPENVX_DIR/include -DOPENVX_LIBRARIES=$OPENVX_DIR/bin/libopenvx.so ../openvx-samples/skin-tone-detector/\nmake\n```\n\n* **Step - 5:** Run Skin Tone Detector application\n\n    * **Live**\n    \n    ```\n    ./skinToneDetector --live\n    ```\n    \n    * **Image**\n    \n    ````\n    ./skinToneDetector --image ../openvx-samples/images/face.png\n    ````\n## Contribution\nThe samples VX Bubble Pop, VX Canny Edge Detector, \u0026 VX Skin Tone Detector are contributed by [AMD](https://www.amd.com/en) from their [MIVisionX Toolkit](https://gpuopen-professionalcompute-libraries.github.io/MIVisionX/). We welcome contributions to this project from all developers. Please open a pull request with details of your sample application to be accepted into this project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhronosgroup%2Fopenvx-samples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhronosgroup%2Fopenvx-samples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhronosgroup%2Fopenvx-samples/lists"}