HAL9001 OpenCV Repackaged

A fork of OpenCV Repackaged for use in the HAL9001 library. Contains opencv-contrib modules

License

License

Categories

Categories

OpenCV Business Logic Libraries Computer Vision
GroupId

GroupId

io.github.schs-robotics
ArtifactId

ArtifactId

hal9001-opencv-repackaged
Last Version

Last Version

4.1.2-v1
Release Date

Release Date

Type

Type

aar
Description

Description

HAL9001 OpenCV Repackaged
A fork of OpenCV Repackaged for use in the HAL9001 library. Contains opencv-contrib modules
Project URL

Project URL

https://github.com/SCHS-Robotics/HAL9001-OpenCV-Repackaged
Source Code Management

Source Code Management

https://github.com/SCHS-Robotics/HAL9001-OpenCV-Repackaged

Download hal9001-opencv-repackaged

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.schs-robotics/hal9001-opencv-repackaged/ -->
<dependency>
    <groupId>io.github.schs-robotics</groupId>
    <artifactId>hal9001-opencv-repackaged</artifactId>
    <version>4.1.2-v1</version>
    <type>aar</type>
</dependency>
// https://jarcasting.com/artifacts/io.github.schs-robotics/hal9001-opencv-repackaged/
implementation 'io.github.schs-robotics:hal9001-opencv-repackaged:4.1.2-v1'
// https://jarcasting.com/artifacts/io.github.schs-robotics/hal9001-opencv-repackaged/
implementation ("io.github.schs-robotics:hal9001-opencv-repackaged:4.1.2-v1")
'io.github.schs-robotics:hal9001-opencv-repackaged:aar:4.1.2-v1'
<dependency org="io.github.schs-robotics" name="hal9001-opencv-repackaged" rev="4.1.2-v1">
  <artifact name="hal9001-opencv-repackaged" type="aar" />
</dependency>
@Grapes(
@Grab(group='io.github.schs-robotics', module='hal9001-opencv-repackaged', version='4.1.2-v1')
)
libraryDependencies += "io.github.schs-robotics" % "hal9001-opencv-repackaged" % "4.1.2-v1"
[io.github.schs-robotics/hal9001-opencv-repackaged "4.1.2-v1"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

OpenCV-Repackaged

What exactly is this?

This is the OpenCV Java API, repackaged into an AAR that you can add as a Gradle dependency to your Android Studio project. This is exactly the same thing that is in the /sdk/java folder of the OpenCV Android bundle.

Why in the world would I want to use this?

To avoid the pain of having to download the OpenCV Android bundle, extract the Java library, and import it as a module in Android Studio. This bloats your git repository and makes it a pain to upgrade to a newer OpenCV version. However, that's not even the biggest benefit of using this library! To decrease the final APK size (and thus decreasing deployment time to your robot each time you make a code change), this library loads the C++ library required by OpenCV (more than 10MB!) dynamically from the internal storage instead of shipping it inside the APK.

So how do I use this?

  1. Open your FTC SDK Android Studio project

  2. Open the build.common.gradle file:

    img-her

  3. Add jcenter() to the repositories block at the bottom:

    img-her

  4. Open the build.gradle file for the TeamCode module:

    img-her

  5. At the bottom, add this:

     dependencies {
         implementation 'org.openftc:opencv-repackaged:4.1.0-A'
      }
    
  6. Copy libOpenCvNative.so from the /doc folder of this repo into the FIRST folder on the internal storage of the Robot Controller

  7. You can now use OpenCV just as you would as if you had manually imported the module, with one minor difference being you do not need to call any methods such as OpenCVLoader.initDebug() because the native library is automatically loaded in the background when the SDK boots.

Changelog:

v4.1.0-A

  • Initial release, based on OpenCV Android SDK v4.1.0
io.github.schs-robotics

Versions

Version
4.1.2-v1