{"id":28995116,"url":"https://github.com/axiscommunications/acap-computer-vision-sdk","last_synced_at":"2025-07-08T11:36:01.374Z","repository":{"id":38313587,"uuid":"351010477","full_name":"AxisCommunications/acap-computer-vision-sdk","owner":"AxisCommunications","description":"AXIS Camera Application Platform version 4 - ACAP Computer Vision SDK","archived":false,"fork":false,"pushed_at":"2024-04-22T08:26:24.000Z","size":185,"stargazers_count":14,"open_issues_count":2,"forks_count":9,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-04-25T00:57:35.687Z","etag":null,"topics":["acap","axis","sdk"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/axisecp/acap-computer-vision-sdk","language":"Python","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/AxisCommunications.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":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-24T08:57:11.000Z","updated_at":"2024-05-03T15:41:35.584Z","dependencies_parsed_at":"2024-02-22T14:29:57.407Z","dependency_job_id":"afbc6979-4dd1-4a85-9593-8a35cad5ce17","html_url":"https://github.com/AxisCommunications/acap-computer-vision-sdk","commit_stats":null,"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/AxisCommunications/acap-computer-vision-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AxisCommunications%2Facap-computer-vision-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AxisCommunications%2Facap-computer-vision-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AxisCommunications%2Facap-computer-vision-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AxisCommunications%2Facap-computer-vision-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AxisCommunications","download_url":"https://codeload.github.com/AxisCommunications/acap-computer-vision-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AxisCommunications%2Facap-computer-vision-sdk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261801988,"owners_count":23211664,"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":["acap","axis","sdk"],"created_at":"2025-06-25T04:06:35.063Z","updated_at":"2025-06-25T04:06:35.809Z","avatar_url":"https://github.com/AxisCommunications.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ACAP Computer Vision SDK\n\n\u003e [!Note]\n\u003e\n\u003e - The ACAP Computer Vision SDK has been archived as its components have been refactored: utility\n\u003e   libraries and scripts are now available in [ACAP Runtime](https://github.com/AxisCommunications/acap-runtime).\n\u003e   For usage of the new setup, see the [examples repository](https://github.com/AxisCommunications/acap-computer-vision-sdk-examples).\n\n\u003e [!Note]\n\u003e\n\u003e - New Axis products released on AXIS OS 12.x will not have container support.\n\u003e - [All products with existing container support](https://www.axis.com/support/tools/product-selector/shared/%5B%7B%22index%22%3A%5B10%2C0%5D%2C%22value%22%3A%22ARTPEC-8%22%7D%2C%7B%22index%22%3A%5B10%2C2%5D%2C%22value%22%3A%22Yes%22%7D%5D)\n\u003e   will be supported until end of 2031 when [AXIS OS 2026 LTS](https://help.axis.com/en-us/axis-os)\n\u003e   reaches end of life.\n\u003e - The recommended way to build analytics, computer vision and machine learning applications on\n\u003e   Axis devices with ACAP support, is to use the ACAP Native SDK. For usage see the [acap-native-sdk-examples](https://github.com/AxisCommunications/acap-native-sdk-examples)\n\u003e   repo.\n\nThis repository holds the Dockerfiles that create the ACAP Computer Vision SDK images. These images bundle computer vision libraries and packages that are compiled for the AXIS camera platforms. The full documentation on how to use the SDK can be found in the [ACAP documentation](https://axiscommunications.github.io/acap-documentation/docs/api/computer-vision-sdk-apis.html). Application examples, demonstrating e.g., [object detection in Python](https://github.com/AxisCommunications/acap-computer-vision-sdk-examples/tree/main/object-detector-python), are available in the [acap-computer-vision-sdk-examples repository](https://github.com/AxisCommunications/acap-computer-vision-sdk-examples). The SDK's Dockerfile itself can be used as a reference for how the SDK images are configured, or as a guide to rebuild select components with parameters that better fit your application.\n\nThe Computer Vision SDK image packages are located under this `/axis` directory. The directory of a package, e.g., `/axis/opencv`, contain\nthe files needed for the applications as seen from the root of the application container. Thus, merging e.g., `/axis/opencv` with the root `/` of your\ncontainer will add the package correctly. This is what is done with the `COPY` commands in the example Dockerfile below.\n\nDependencies between packages currently need to be handled manually. That is, e.g., `python-numpy` does not include `python`. Rather, both\npackages will have to be added to the application container to use the NumPy package.\n\n## Images\n\nThe SDK comes in two different flavours: `runtime` and `devel`. The `devel`-tagged image contains the SDK build environment and the full packages, including e.g., headers, to allow\nbuilding and linking against the packages. The `runtime`-tagged image attempts to only retain the subset of files needed to run packages, which produces a significantly smaller image.\n\nThe available tags are `latest-\u003cARCHITECTURE\u003e`, `latest-\u003cARCHITECTURE\u003e-\u003cruntime/devel\u003e`, `\u003cVERSION_TAG\u003e-\u003cARCHITECTURE\u003e` and\n`\u003cVERSION_TAG\u003e-\u003cARCHITECTURE\u003e-\u003cruntime/devel\u003e`. The images that do not specify `runtime` or `devel` are set to be the smaller `runtime` images. The `latest`-tagged images\nare built per commit from the main branch, while the `\u003cVERSION_TAG\u003e`-tagged images are built per [tagged release](https://github.com/AxisCommunications/acap-computer-vision-sdk/tags).\n\n**All CV SDK images are available on DockerHub at [axisecp/acap-computer-vision-sdk](https://hub.docker.com/r/axisecp/acap-computer-vision-sdk).**\n\n## Instructions\n\n1. Select a base image suitable for your camera platform, e.g., `arm32v7/ubuntu:20.04` for running Ubuntu 20.04 natively on the ARTPEC-7 platform.\n2. Copy the packages needed for your application from the CV SDK, e.g., for an application running OpenCV in Python, the copied packages would include\nOpenCV, Python, NumPy (OpenCV-Python dependency) and OpenBLAS (optimized math functions).\n\nThus, the Dockerfile for your application could be set up as:\n\n```sh\nFROM axisecp/acap-computer-vision-sdk:latest-armv7hf AS cv-sdk\nFROM arm32v7/ubuntu:20.04\n\n# Add the CV packages\nCOPY --from=cv-sdk /axis/opencv /\nCOPY --from=cv-sdk /axis/python /\nCOPY --from=cv-sdk /axis/python-numpy /\nCOPY --from=cv-sdk /axis/openblas /\n\n# Add your application files\nCOPY app /app\nWORKDIR /app\nCMD [\"python3\", \"some_computer_vision_script.py\"]\n```\n\n## Contents\n\n* `/axis/opencv`: [OpenCV 4.5.1](https://github.com/opencv/opencv) with [VDO](https://www.axis.com/products/online-manual/s00004#t10157890)\n  * A computer vision library with functionality that covers many different fields within computer vision.\nThe VDO integration allows accessing the camera's video streams through the OpenCV VideoCapture class. Compiled with OpenBLAS.\n* `/axis/python`: Python\n  * A Python 3.8 installation to allow easy prototyping and development of applications.\n* Python packages\n  * `/axis/python-numpy`: [NumPy](https://github.com/numpy/numpy) - Compiled with OpenBLAS.\n  * `/axis/python-scipy`: [SciPy](https://github.com/scipy/scipy) - Compiled with OpenBLAS.\n  * `/axis/python-pytesseract`: [PyTesseract](https://github.com/madmaze/pytesseract) - A Python interface to the Tesseract OCR engine.\n  * `/axis/python-tfserving`: [A TensorFlow Serving inference client](./sdk/tfserving/tf_proto_utils.py#L123) - Allows interfacing with a model server using the TensorFlow Serving prediction gRPC API.\n* `/axis/tesseract`: [Tesseract](https://github.com/tesseract-ocr/tesseract)\n  * An OCR engine developed by Google. Requires model from e.g., [tessdata](https://github.com/tesseract-ocr/tessdata) to be downloaded and have its location specified in the application.\n* `/axis/openblas`: [OpenBLAS](https://github.com/xianyi/OpenBLAS)\n  * A library with optimized linear algebra operations which can accelerate many applications.\n* `/axis/opencl`: [OpenCL](https://www.khronos.org/registry/OpenCL/sdk/1.2/docs/man/xhtml/)\n  * A general purpose parallel programming language.\n  * *Only available on the `-devel` image as the runtime files are mounted from the camera*\n* `/axis/tfproto`: TensorFlow protobuf files\n  * TensorFlow and TensorFlow Serving protobuf files for compiling applications that use their API. An example of how they are used is available in the [object-detector-cpp example](https://github.com/AxisCommunications/acap-computer-vision-sdk-examples/tree/main/object-detector-cpp).\n  * *Only available on the `-devel` image as the proto files are only used for compilation*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxiscommunications%2Facap-computer-vision-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faxiscommunications%2Facap-computer-vision-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxiscommunications%2Facap-computer-vision-sdk/lists"}