Skip to content

Commit

Permalink
v1.7.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
Windwoes committed Jun 17, 2023
1 parent c0a5455 commit a060e26
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 5 deletions.
2 changes: 1 addition & 1 deletion easyopencv/OpenCV-Repackaged
Submodule OpenCV-Repackaged updated 1 files
+5 −1 readme.md
6 changes: 3 additions & 3 deletions easyopencv/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apply plugin: 'com.android.library'
ext {
PUBLISH_GROUP_ID = 'org.openftc'
PUBLISH_ARTIFACT_ID = 'easyopencv'
PUBLISH_VERSION = '1.6.2'
PUBLISH_VERSION = '1.7.0'
}

android {
Expand Down Expand Up @@ -69,8 +69,8 @@ android {

dependencies {
//compileOnly fileTree(include: ['*.aar'], dir: '../libs')
api project(':OpenCV-Android-SDK')
//releaseApi 'org.openftc:opencv-repackaged-bundled-dylibs:4.5.3-C'
debugApi project(':OpenCV-Android-SDK')
releaseApi 'org.openftc:opencv-repackaged-bundled-dylibs:4.7.0-A'
compileOnly 'org.firstinspires.ftc:RobotCore:8.1.1'
}

Expand Down
24 changes: 23 additions & 1 deletion readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Unfortunately, due to a [known bug with OpenCV 4.x](https://github.com/opencv/op
3. At the bottom, add this:
```gradle
dependencies {
implementation 'org.openftc:easyopencv:1.6.2'
implementation 'org.openftc:easyopencv:1.7.0'
}
```
4. Now perform a Gradle Sync:
Expand All @@ -66,6 +66,28 @@ Unfortunately, due to a [known bug with OpenCV 4.x](https://github.com/opencv/op
## Changelog:
### v1.7.0
- Adds new `NATIVE_VIEW` viewport renderer option
- Attempts to provide a balance between the stability of the `SOFTWARE` renderer and the speedup seen with the `GPU_ACCELERATED` renderer
- Drawing is done on the UI thread using the GPU accelerated main canvas, instead of making another canvas as the `GPU_ACCELERATED` renderer does
- Uses anti-aliasing when drawing the statistics overlay to make text more readable on low resolution screens
- Adds ability for user pipelines to hook into the Canvas rendering of frames to the live view
- This is an alternate means besides OpenCV calls to draw annotations from a pipeline
- Allows drawing annotations at the full screen resolution even if performing image processing at a much lower resolution (e.g. 320x240). This allows e.g. drawing actually legible text on a low res image feed.
- Because live view rendering happens on a different thread than the image processing, in order to make use of this feature, pipelines must call `requestViewportDrawHook(object)` during `processFrame()`, providing any type of context object they may wish which encapsulates the data needed to draw the annotations. Pipelines then also need to override `onDrawFrame(...)` which can receive that same object back, and perform the annotation drawing there.
- The image sent to the DriverStation is now rendered using an offsceen canvas to ensure that annotations rendered using the canvas will be visible on the DS as well.
- Adds support for MJPEG streaming for webcams
- Requires FTC SDK v8.2
- Uses libjpeg-turbo for JPEG decompression routine
- Allows for streaming at full frame rate at higher resolutions (e.g. 1280x720) which were previously limited to 10FPS due to bandwidth constraints
- Improves ability to use multiple cameras simultaneously by reducing bandwidth usage
- CPU load will be increased due to additional overhead from JPEG decompression
- Uncompressed streaming is still the default; in order to request MJPEG, use the overloaded `startStreaming()` method in `OpenCvWebcam` which takes a `StreamFormat` argument
- Fixes a deadlock when trying to switch cameras when using `OpenCvSwitchableWebcam`
- Fixes cases where mutex might not be released in internal camera v2 implementation
- Updates OpenCV-Repackaged transitive dependency to `4.7.0-A`
### v1.6.2
- Add generic `getControl()` method to OpenCvWebcam
Expand Down

0 comments on commit a060e26

Please sign in to comment.