Releases: opensight-cv/opensight
Releases · opensight-cv/opensight
v1.0.1
Stablility™ Update
Changes listed below are for versions v0.2.1 to v1.0.0
Bugs that were both introduced and fixed between v0.2.1 and v1.0.0 are not listed, see commit history for full details
Breaking changes
- H.264 is now on port 554
- Disabled auto exposure
- WiFi and Bluetooth are now disabled on the image by default to prepare for competition season. Check the OpenSight Discord if you need help re-enabling it.
OpenSight
Features
- Added Non-Linux support for the CameraInput node
- Added per-type serialization for NetworkTables
- Remove PutColor and PutCoordinate
- New types which be piped directly into PutNT:
circles
,point
,color
,rect
,corners
, and many more
- Added Rotate and RotateNoCrop nodes
- Added flip node
- Added CUDA gpu module (CUDA supported machines only)
- HSV ThresholdGPU node
- BlurGPU node
- BlurAndThreshold node
- Logic module overhaul
- Rename
Freeze
toToggle
- Add Freeze, If, SwitchBoolean, SwitchNumber, and NOP nodes
- Rename
Tweaks
- Uses Path instead of PosixPath for cross-platform compatibility
- Restructured the CameraServer module
- Removed videoio's hard dependency on upgraded-engineer (h.264)
- Made FindCorners more robust for contours with >4 corners
- For FPS calculation, uses average of last few seconds rather than entire duration of pipeline
- Upgraded dependencies to latest versions
- Normalized CSS
- Flushes NetworkTables each update cycle
- Uses sane defaults for compression and fps for MJPEG streams
- Automatically cancels any nodes dependent upon nodes which have errored
- Moved H.264 to port 554
- Disabled auto-exposure
Bug Fixes
- Fixed AbsoluteDifferenceHSV output
- Fixed NetworkTables for teams with less than 4 digits
- Added commas to Cache-Control header
- Ensures
rusty-engine
quits on OpenSight exit - Ensures SolvePNP distance accuracy
- Added MatBW -> Mat auto conversions where are required
- Fixed GPIO LED and PWMLED
- Allow importing of pipelines with GetNT nodes which have nonexistent paths
- Allow importing of pipelines with nonexistent cameras
- Fixed output naming error of BooleanSwitch node
Packages
- Separate dependencies into Depends, Recommends, and Suggests (allows installing OpenSight without forcefully installing every optional dependency)
- Added imutils to dependencies
Raspberry Pi Image
- Merged latest upstream raspbian changes
- Disable WiFi by default
- Install OpenSight package
Suggests
dependencies
Post-Post-Kickoff Update
OpenSight
-
Debug verbosity has been restored back to
DEBUG
level. -
Network settings now load properly.
-
Color balance (red/blue) node has been added.
-
Contour area node has been added.
-
H.264 CameraServer now correctly uses port 554.
-
SolvePNP Module
- Added SolvePNP, Position2D, and VisualizeTargetPose functions
- Use this script to create a camera calibration. Built-in camera calibration is coming soon.
-
Module API Changes:
force_enabled
has been removed. Functions now load from imported modules by default.
Post-Kickoff Update Hotfix
Packages
- Fix issue where python3-upgraded-engineer and rusty-engine would automatically be removed
- Add python3-gst-1.0
OpenSight Post-Kickoff Update - Now with H.264, Contour Filtering, and more!
OpenSight
-
Contour Filtering: You can filter contours by…
- Area
- Rectangular area (both bounding and minimum area)
- Speckle removal (filters out contours that are much smaller than the largest contour)
- Aspect ratio
- Orientation
- Angle
- Top-most, Bottom-most, Left-most, Right-most, Most central, largest, and smallest contours (e.g. only pass the 2 biggest contours)
-
Color sampling and detection:
- ColorSampler: New function that provides provides the color of a given pixel in an image
- ColorDetector: New function that returns which of four colors a given color is closest to by hue. Useful for the CONTROL PANEL when coupled with the ColorSampler.
-
You can now choose between DHCP and static IP in the settings tab.
-
H.264 Video Streaming via rusty-engine
- Brand-new rusty-engine RTSP server with support for Video4Linux2, Raspberry Pi Camera Module, and shared memory socket input.
- upgraded-engineer Python package to easily write frames from an OpenCV Python application to rusty-engine.
v0.2.0-rc.3
OpenSight
- Fix for gstreamer-shuffleboard compatibility.
v0.1.4
v0.1.3
Note: If upgrading from a previous version, you MUST install v0.1.2 before this release. If you have a version before v0.1.2, you must install v0.1.2 and then v0.1.3.
OpenSight
Features
- GPIO LED support
- LEDs and PWM LEDs can now be turned on/off through the Raspberry Pi's GPIO interface
- Logic module
- Freeze node: enable "freeze" to stop the nodes connected to the output from running
- A framework has been built for conditional modules in the near future
- Circle Detection
- Detect and find circles using the new AbsoluteDifference functions (HSV and RGB), Clamp Min/Max, FindCircles, and Draw Circles functions (docs WIP)
- Line Detection
- Detect lines using the Canny, FindLines, and DrawLines functions (docs WIP)
- GetNT
- Get NetworkTables values using the GetNT function. Useful for setting LEDs and other parameters.
Tweaks and Fixes
- Nodetree import time has decreased substantially. For example, your changes to HSV filters will take effect immediately rather than after 5-10 seconds.
- HSV is now scaled to 360, making it easier to figure out what each color is
- Dropdowns automatically select first camera, fixing issues where the camera could not be selected.
Packages
- Added python3-gpiozero
Raspberry Pi Image
- Fix CA certificates not being updated
v0.1.2
Changelog:
OpenSight
- Dramatically decrease shutdown time
- Fix webserver not closing properly
- Fix preferences not saving
- Add status indicator to settings page
- Server mode in NetworkTables now uses
opensight.local
instead oflocalhost
Packages
- Upgrader script is now stored in upgrade tarfile rather than in OpenSight source
Raspberry Pi Image
- Automatic EEPROM updating has been disabled in order to ensure it is not triggered without steady power.