{"id":15654033,"url":"https://github.com/onuralpszr/cvcamera-mobile","last_synced_at":"2025-07-22T20:06:01.609Z","repository":{"id":61933276,"uuid":"484244998","full_name":"onuralpszr/CvCamera-Mobile","owner":"onuralpszr","description":"Using OpenCv's Android Camera2(JavaCamera2View) with OpenCV 4.10.0","archived":false,"fork":false,"pushed_at":"2025-07-18T20:52:42.000Z","size":2548,"stargazers_count":41,"open_issues_count":7,"forks_count":13,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-19T01:30:54.674Z","etag":null,"topics":["android","android-application","android-application-development","android-studio","hacktoberfest","java","kotlin","kotlin-android","ndk","opencv"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/onuralpszr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["onuralpszr"]}},"created_at":"2022-04-22T00:29:36.000Z","updated_at":"2025-07-18T20:52:06.000Z","dependencies_parsed_at":"2023-10-24T17:30:25.346Z","dependency_job_id":"83cf1347-2d16-48b0-8f02-b8885514441e","html_url":"https://github.com/onuralpszr/CvCamera-Mobile","commit_stats":{"total_commits":247,"total_committers":8,"mean_commits":30.875,"dds":0.5384615384615384,"last_synced_commit":"1c062859733a942b72d433841b372adb2f78b8d9"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/onuralpszr/CvCamera-Mobile","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onuralpszr%2FCvCamera-Mobile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onuralpszr%2FCvCamera-Mobile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onuralpszr%2FCvCamera-Mobile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onuralpszr%2FCvCamera-Mobile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/onuralpszr","download_url":"https://codeload.github.com/onuralpszr/CvCamera-Mobile/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onuralpszr%2FCvCamera-Mobile/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266563915,"owners_count":23948689,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["android","android-application","android-application-development","android-studio","hacktoberfest","java","kotlin","kotlin-android","ndk","opencv"],"created_at":"2024-10-03T12:49:09.137Z","updated_at":"2025-07-22T20:06:01.600Z","avatar_url":"https://github.com/onuralpszr.png","language":"Kotlin","funding_links":["https://github.com/sponsors/onuralpszr"],"categories":[],"sub_categories":[],"readme":"# CvCamera-Mobile\n\nUtilizing OpenCV4 with Android's Camera2 API through JavaCamera2View\n\n[![MIT](https://img.shields.io/badge/License-MIT-yellow?logo=MIT\u0026logoColor=white)](https://opensource.org/license/mit/)\n[![Kotlin](https://img.shields.io/badge/Kotlin-2.2.0-%23E34F26?logo=Kotlin\u0026logoColor=white)](https://kotlinlang.org/)\n[![Gradle](https://img.shields.io/badge/Gradle-8.14.3-02303A?logo=Gradle\u0026logoColor=white)](https://gradle.org/releases/)\n[![Android-Gradle-Plugin](https://img.shields.io/badge/AGP-8.11.0-02303A?logo=Gradle\u0026logoColor=white)](https://developer.android.com/build/releases/gradle-plugin)\n[![OpenCV](https://img.shields.io/badge/OpenCV-4.12.0-5C3EE8?logo=OpenCV\u0026logoColor=white)](https://opencv.org/)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commit-1.0.0-FE5196?logo=conventionalcommits\u0026logoColor=white)](https://conventionalcommits.org)\n[![android-studio](https://img.shields.io/badge/android%20studio-Narwhal-3DDC84?logo=androidstudio\u0026logoColor=white)](https://developer.android.com/studio)\n[![🚀 Android CI](https://github.com/onuralpszr/CvCamera-Mobile/actions/workflows/android-ci-debug.yml/badge.svg)](https://github.com/onuralpszr/CvCamera-Mobile/actions/workflows/android-ci-debug.yml)\n[![🚀 Build and Release](https://github.com/onuralpszr/CvCamera-Mobile/actions/workflows/android-ci-release.yml/badge.svg)](https://github.com/onuralpszr/CvCamera-Mobile/actions/workflows/android-ci-release.yml)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/onuralpszr/CvCamera-Mobile/main.svg)](https://results.pre-commit.ci/latest/github/onuralpszr/CvCamera-Mobile/main)\n[![snyk-security](https://snyk.io/test/github/onuralpszr/CvCamera-Mobile/badge.svg)](https://snyk.io/test/github/onuralpszr/CvCamera-Mobile)\n[![CodeFactor](https://www.codefactor.io/repository/github/onuralpszr/cvcamera-mobile/badge/main)](https://www.codefactor.io/repository/github/onuralpszr/cvcamera-mobile/overview/main)\n\n \u003cp align=\"center\"\u003e\n    \u003cimg src=\"appPreview/appOverview.png\" width=\"200\" max-height=\"%20\" alt=\"appOverview.png\"/\u003e\n    \u003cimg src=\"appPreview/appOverview2.png\" width=\"200\" max-height=\"%20\" alt=\"appOverview2.png\"/\u003e\n\u003c/p\u003e\n\nThis android project is barebone setting up OpenCV 4.12.0 (and other 4.x.y versions) for Android in [Android Studio](https://developer.android.com/studio) with Native Development Kit (NDK) support.\n[Android NDK](https://developer.android.com/ndk) enables you to implement your [OpenCV](https://opencv.org) image processing pipeline in C++ and call that C++ code from Android Kotlin/Java code through JNI ([Java Native Interface](https://en.wikipedia.org/wiki/Java_Native_Interface)).\n\nThis Android application, provides a live camera feed with the ability to dynamically switch between front and back cameras. It includes a custom cvFpsMeter for enhanced text visibility. Also features a basic setup for Android NDK and OpenCV, as well as a CV filter with a toggle button for camera switching.\n\n## How to use this repository\n\n1. [Download and Install Android Studio](https://developer.android.com/studio)\n\n2. [Install NDK and CMake](https://developer.android.com/studio/projects/install-ndk.md)\n\n3. Clone this repository as an Android Studio project :\n     * In Android Studio, click on `File -\u003e New -\u003e Project from Version Control -\u003e Git`\n     * Paste this repository *Github URL*, choose a *project directory* and click next.\n\n4. Install *OpenCV Android release* :\n    * Download [OpenCV 4.12.0 Android release](https://github.com/opencv/opencv/releases/download/4.12.0/opencv-4.12.0-android-sdk.zip) or download latest available Android release on [OpenCV website](https://opencv.org/releases/).\n    * Unzip downloaded file and put **OpenCV-android-sdk** directory next your project and rename folder `opencvsdk4120`. If you want to place somewhere else please change path in `settings.gradle`\n\n    * Optional(For linux) you can run setupOpenCV_4x.sh for automatic download and setup gradle file for opencv\n\n5. Sync Gradle and run the application on your Android Device!\n\n## Features\n\n* **OpenCV Version Update**: The OpenCV version was updated multiple times, with the latest being 4.12.0.\n* **Camera Switch**: Added the ability to switch between the front and back camera.\n* **SetupOpenCV Script**: Introduced a script for setting up OpenCV.\n* **Custom cvFpsMeter**: Implemented a custom cvFpsMeter for bigger text and different color choice.\n* **Material3 Theme**: Added configurations for the Material3 theme.\n* **UI Overhaul**: The user interface was significantly updated, and strings were added.\n* **Timber Logging**: Added Timber logging for fpsMeter and ExtendedJavaCamera2View.\n* **Android NDK - OpenCV Basic Setup**: Implemented a basic setup for Android NDK and OpenCV.\n* **CV Filter with Toggle Button**: Added a basic CV filter with a toggle button to switch between the front and back camera.\n* **NDK Second App - Version only**: TBD\n\n## Keywords\n\nKotlin, OpenCV 4, Android, Android Studio, Native, NDK, Native Development Kit, JNI, C++\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonuralpszr%2Fcvcamera-mobile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonuralpszr%2Fcvcamera-mobile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonuralpszr%2Fcvcamera-mobile/lists"}