Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2.26.0 #1028

Merged
merged 107 commits into from
May 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
6be0199
temp commit TODO: squash
Jun 20, 2023
a5dcc5a
Add RPC `readCcmEepromRaw` for ToF
alex-luxonis Jul 21, 2023
e44ee98
Merge branch 'develop' of github.com:luxonis/depthai-core into depth_…
asahtik Nov 22, 2023
0d23b9a
Merge branch 'develop' of github.com:luxonis/depthai-core into depth_…
asahtik Jan 8, 2024
eca83d7
Updated videoEnc comments so docs will be updated.
Erol444 Feb 7, 2024
c738497
Add writeCcmEepromRaw RPC
SzabolcsGergely Feb 21, 2024
1a48df9
DataQueue: catch packet parsing errors and return a null packet inste…
alex-luxonis Feb 21, 2024
90b92ac
StreamMessageParser: add more details (size etc) to the 'bad packet' …
alex-luxonis Feb 21, 2024
eaa7776
Merge remote-tracking branch 'origin/develop' into HEAD
SzabolcsGergely Feb 22, 2024
20e94ff
ToF: add phase map output
SzabolcsGergely Feb 23, 2024
5ab8659
Merge remote-tracking branch 'origin/develop' into HEAD
SzabolcsGergely Mar 4, 2024
c405422
Rename functions, update shared
SzabolcsGergely Mar 4, 2024
2ef1707
Update depth align node, fix crash
SzabolcsGergely Mar 4, 2024
272be36
TMP FW with more logging for bad-packet debugging. Fix ImageManip pot…
alex-luxonis Mar 8, 2024
338bd26
Add decoding pipeline
SzabolcsGergely Mar 8, 2024
981324a
Try to fix a FW memory alignment issue
alex-luxonis Mar 12, 2024
181bc42
fix finding jsoncpp
Serafadam Mar 13, 2024
12766a7
FW: fix fsync for OAK-D-SR
alex-luxonis Mar 19, 2024
6cdc012
Change IMU fw update status to int
asahtik Mar 20, 2024
21a2dc8
Add cast node
SzabolcsGergely Mar 23, 2024
a8ea8d2
Update Cast node with fixes
SzabolcsGergely Mar 26, 2024
10e6107
Handle multi input NN
SzabolcsGergely Mar 27, 2024
72af37b
Update ToF decoding algorithm
SzabolcsGergely Mar 28, 2024
7f5eea5
Update FW; fixed optical correction
SzabolcsGergely Mar 29, 2024
92ad11d
Optimize wiggle correction
SzabolcsGergely Apr 1, 2024
1e57cb6
Handle edge cases; unsupported distortion coefficients
SzabolcsGergely Apr 1, 2024
62d7b5a
Add tilt projection support
SzabolcsGergely Apr 3, 2024
42c041e
Merge remote-tracking branch 'origin/develop' into HEAD
SzabolcsGergely Apr 4, 2024
4072144
Add phase unwrapping
SzabolcsGergely Apr 9, 2024
361d5d6
Update phase unwrapping, add configurable levels
SzabolcsGergely Apr 9, 2024
028115f
Device: add RPC setXLinkRateLimit for device transmit bandwidth throt…
alex-luxonis Apr 10, 2024
33405d7
Introduced `DeviceBootloader::getFlashedVersion` to retrieve the boot…
zrezke Apr 11, 2024
00306cd
FW: fixes for IMX378 and IMX582:
alex-luxonis Apr 11, 2024
9c24a64
Merge branch 'develop' of https://github.com/luxonis/depthai-core int…
asahtik Apr 11, 2024
3205150
Merge pull request #989 from luxonis/imu_fw_update_status_int
asahtik Apr 11, 2024
a9d80ac
Optimized decoding pipeline: 60->27 ms
SzabolcsGergely Apr 12, 2024
e3ea20d
Add jsoncpp with hunter
Apr 15, 2024
58a0b81
Make PCL include optional
asahtik Apr 15, 2024
f1351b8
Fixed booting issue on OAK D SR POE and OAK T. (#1002)
zrezke Apr 15, 2024
a6856ba
Merge branch 'develop' of github.com:luxonis/depthai-core into jsoncp…
asahtik Apr 15, 2024
5a86307
Fail loudly if PCL enabled, README changes
asahtik Apr 15, 2024
8020e0f
Conditionally add jsoncpp package
Apr 15, 2024
9a4892e
Add multi shave support for ToF decoding
SzabolcsGergely Apr 15, 2024
ba507b8
Merge remote-tracking branch 'origin/develop' into HEAD
SzabolcsGergely Apr 15, 2024
78beba7
Merge pull request #980 from luxonis/jsoncpp_find_package_bug
moratom Apr 16, 2024
a09c3ea
Update ToF decoding: handle arbitrary sensor rotation
SzabolcsGergely Apr 16, 2024
5a2db83
FW: fix default fsync GPIO state for OAK-FFC-4P R7,
alex-luxonis Apr 16, 2024
a588da9
Add phaseUnwrappingErrorThreshold config
SzabolcsGergely Apr 18, 2024
140d79a
Merge remote-tracking branch 'origin/develop' into HEAD
SzabolcsGergely Apr 19, 2024
854b36d
FW: fix S5K33D ToF streaming when enabled on both sockets B and C,
alex-luxonis Apr 22, 2024
eb1733e
Merge remote-tracking branch 'origin/depth_align_node' into HEAD
SzabolcsGergely Apr 23, 2024
c8d6426
Fix feature tracker ID type deduction
SzabolcsGergely Apr 25, 2024
8b32642
FW: fsync shift on custom board
alex-luxonis Apr 26, 2024
f0e426d
Add new eeprom content
SzabolcsGergely May 2, 2024
a177321
Update FW: DepthAlign node implementeD
SzabolcsGergely May 2, 2024
35274e7
Update TOF decoding/eeprom content
SzabolcsGergely May 3, 2024
241ec13
Added enableBurstMode=false and enablePhaseShuffleTemporalFilter=true…
SzabolcsGergely May 7, 2024
49789e5
Fall back to sensor EEPROM if onboard intrinsics or distortion coeffi…
SzabolcsGergely May 7, 2024
1b58b3a
Update temperature coefficients
SzabolcsGergely May 8, 2024
0bcd309
Merge 'origin/main' into develop,
alex-luxonis May 8, 2024
fde473e
FW, BL: fix a potential bootup/reboot failure,
alex-luxonis May 8, 2024
dc84019
Update FW; 10 bit amplitude, uint16; temperature calibration version …
SzabolcsGergely May 10, 2024
98e885f
Update interface
SzabolcsGergely May 10, 2024
115f0d5
Fix stride size
SzabolcsGergely May 9, 2024
a295f44
(fix mistake in previous commit, FW ver was put in the wrong place)
alex-luxonis May 10, 2024
42121bb
Merge 'bad_packet_continue' into bootup_stability_fixes
alex-luxonis May 10, 2024
cba9e06
Revert "DataQueue: catch packet parsing errors and return a null pack…
alex-luxonis May 10, 2024
07e8261
Refactor DepthAlign -> ImageAlign
SzabolcsGergely May 13, 2024
78e0642
Remove readCcmEepromRaw, writeCcmEepromRaw
SzabolcsGergely May 14, 2024
07ad9b4
Update submodules, FW
SzabolcsGergely May 14, 2024
9037a5a
Merge pull request #1017 from luxonis/tof_decoding
SzabolcsGergely May 14, 2024
f3f8939
Merge remote-tracking branch 'origin/develop' into HEAD
SzabolcsGergely May 14, 2024
7381dea
Merge 'origin/develop' into bootup_stability_fixes
alex-luxonis May 14, 2024
22141d7
BL: update to 0.0.28 release version (bootup/restart fixes)
alex-luxonis May 14, 2024
0b70c02
StreamMessageParser: check end-of-packet bytes, warn on mismatch,
alex-luxonis May 14, 2024
9176486
Merge remote-tracking branch 'origin/develop' into HEAD
SzabolcsGergely May 15, 2024
3b6b688
FW: update after merge. Fix style - `make clangformat`
alex-luxonis May 15, 2024
84cf333
Merge pull request #1020 from luxonis/bootup_stability_fixes
alex-luxonis May 15, 2024
3672f78
Fix CI
moratom May 15, 2024
2ac4531
DeviceBootloader: warning for potentially unstable flashed bootloader…
alex-luxonis May 16, 2024
5b4b8b8
FW: fix for MessageGroup parsing after the added end-of-packet marker
alex-luxonis May 16, 2024
f8d1976
StreamMessageParser: apply end-of-packet marker in both directions
alex-luxonis May 16, 2024
0126c7a
FW: stream parser marker merged, other changes: warp FP16
alex-luxonis May 17, 2024
6f85d04
Update FW
SzabolcsGergely May 17, 2024
acc1ad6
FW: ToF double raw stream FPS internally to get depth at configured FPS,
alex-luxonis May 20, 2024
7e50521
Update FW; handle edge cases
SzabolcsGergely May 20, 2024
6ab82d3
Merge remote-tracking branch 'origin/cast_node' into HEAD
SzabolcsGergely May 20, 2024
5f7d5fc
Merge pull request #1019 from luxonis/cast_node
SzabolcsGergely May 20, 2024
60f86a1
ImageAlign: add multi shave support
SzabolcsGergely May 22, 2024
f73c640
[FW] Update FW with better increased MIPI priority for cameras
May 23, 2024
eac1046
clangformat
May 23, 2024
43b5a27
Remove tau character from comments
May 23, 2024
71f61a9
Merge pull request #966 from luxonis/update_encoder_comments
moratom May 23, 2024
3565c7e
Add the align examples
May 24, 2024
82e4a81
Remove unused example
May 24, 2024
76c21e2
Add the cast examples
May 24, 2024
ffea6ab
Add the tof depth example
May 24, 2024
56e05d5
Add spatial examples for yolo
May 24, 2024
449bfbc
Merge remote-tracking branch 'origin/improve_camera_stability' into d…
May 24, 2024
e0e72e1
[FW] Update FW to develop
May 24, 2024
2bb244c
Cleanup
May 24, 2024
1345574
Merge branch 'update_examples' into develop
May 24, 2024
0535b60
Merge remote-tracking branch 'origin/windows_compilation' into develop
May 24, 2024
d5a5149
Clangformat
May 24, 2024
b6318d0
Bump version to v2.26.0
May 24, 2024
b9e2584
FW: fix timings for OV9282 fsync at 400p on CAM_A
alex-luxonis May 25, 2024
b2bad76
Merge remote-tracking branch 'origin/develop' into release_2.26.0
May 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/main.workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ jobs:
exclude:
- os: windows-latest
cmake: '3.10.x'
- os: macos-latest # Skip the old cmake on latest macos - doesn't handle ARM64 aarch correctly
cmake: '3.10.x'

steps:
- name: Cache .hunter folder
Expand Down Expand Up @@ -333,4 +335,4 @@ jobs:
upload_url: ${{ steps.createRelease.outputs.upload_url }}
asset_path: ${{ github.workspace }}/depthai-core-${{ steps.tag.outputs.version }}-win32-no-opencv.zip
asset_name: depthai-core-${{ steps.tag.outputs.version }}-win32-no-opencv.zip
asset_content_type: application/octet-stream
asset_content_type: application/octet-stream
5 changes: 4 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ if(WIN32)
endif()

# Create depthai project
project(depthai VERSION "2.25.1" LANGUAGES CXX C)
project(depthai VERSION "2.26.0" LANGUAGES CXX C)
get_directory_property(has_parent PARENT_DIRECTORY)
if(has_parent)
set(DEPTHAI_VERSION ${PROJECT_VERSION} PARENT_SCOPE)
Expand Down Expand Up @@ -219,6 +219,7 @@ add_library(${TARGET_CORE_NAME}
src/pipeline/node/DetectionNetwork.cpp
src/pipeline/node/Script.cpp
src/pipeline/node/SpatialDetectionNetwork.cpp
src/pipeline/node/ImageAlign.cpp
src/pipeline/node/SystemLogger.cpp
src/pipeline/node/SpatialLocationCalculator.cpp
src/pipeline/node/AprilTag.cpp
Expand All @@ -230,6 +231,7 @@ add_library(${TARGET_CORE_NAME}
src/pipeline/node/DetectionParser.cpp
src/pipeline/node/UVC.cpp
src/pipeline/node/PointCloud.cpp
src/pipeline/node/Cast.cpp
src/pipeline/datatype/Buffer.cpp
src/pipeline/datatype/ImgFrame.cpp
src/pipeline/datatype/EncodedFrame.cpp
Expand All @@ -250,6 +252,7 @@ add_library(${TARGET_CORE_NAME}
src/pipeline/datatype/EdgeDetectorConfig.cpp
src/pipeline/datatype/TrackedFeatures.cpp
src/pipeline/datatype/FeatureTrackerConfig.cpp
src/pipeline/datatype/ImageAlignConfig.cpp
src/pipeline/datatype/ToFConfig.cpp
src/pipeline/datatype/PointCloudConfig.cpp
src/pipeline/datatype/PointCloudData.cpp
Expand Down
4 changes: 2 additions & 2 deletions cmake/Depthai/DepthaiBootloaderConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ set(DEPTHAI_BOOTLOADER_MATURITY "release")
# set(DEPTHAI_BOOTLOADER_MATURITY "snapshot")

# "version if applicable"
set(DEPTHAI_BOOTLOADER_VERSION "0.0.27")
# set(DEPTHAI_BOOTLOADER_VERSION "0.0.24+57c26493754e2f00e57f6594b0b1a317f762d5f2")
set(DEPTHAI_BOOTLOADER_VERSION "0.0.28")
# set(DEPTHAI_BOOTLOADER_VERSION "0.0.27+5fb331f993adceeeda72202c233a9e3939ab3dab")
2 changes: 1 addition & 1 deletion cmake/Depthai/DepthaiDeviceSideConfig.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot")

# "full commit hash of device side binary"
set(DEPTHAI_DEVICE_SIDE_COMMIT "c7127782f2da45aac89d5b5b816d04cc45ae40be")
set(DEPTHAI_DEVICE_SIDE_COMMIT "24a3b465b979de3f69410cd225914d8bd029f3ba")

# "version if applicable"
set(DEPTHAI_DEVICE_SIDE_VERSION "")
36 changes: 36 additions & 0 deletions examples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,22 @@ hunter_private_data(
LOCATION concat_model
)

# blur model
hunter_private_data(
URL "https://artifacts.luxonis.com/artifactory/luxonis-depthai-data-local/network/blur_simplified_openvino_2021.4_6shave.blob"
SHA1 "14d543bbaceffa438071f83be58ad22a07ce33ee"
FILE "blur_simplified_openvino_2021.4_6shave.blob"
LOCATION blur_model
)

# diff model
hunter_private_data(
URL "https://artifacts.luxonis.com/artifactory/luxonis-depthai-data-local/network/diff_openvino_2022.1_6shave.blob"
SHA1 "fe9600e617d222f986a699f18e77e80ce2485000"
FILE "diff_openvino_2022.1_6shave.blob"
LOCATION diff_model
)

# normalization model
hunter_private_data(
URL "https://artifacts.luxonis.com/artifactory/luxonis-depthai-data-local/network/normalize_openvino_2021.4_4shave.blob"
Expand Down Expand Up @@ -386,3 +402,23 @@ dai_add_example(imu_video_synced Sync/imu_video_synced.cpp ON OFF)
if(DEPTHAI_HAVE_PCL_SUPPORT)
dai_add_example(visualize_pointcloud PointCloud/visualize_pointcloud.cpp ON ON)
endif()

# ImageAlign
dai_add_example(tof_align ImageAlign/tof_align.cpp OFF OFF)
dai_add_example(image_align ImageAlign/image_align.cpp ON OFF)
dai_add_example(thermal_align ImageAlign/thermal_align.cpp OFF OFF)
dai_add_example(depth_align ImageAlign/depth_align.cpp ON OFF)

# Cast
dai_add_example(blur Cast/blur.cpp ON OFF)
target_compile_definitions(blur PRIVATE BLOB_PATH="${blur_model}")
dai_add_example(concat Cast/concat.cpp ON OFF)
target_compile_definitions(concat PRIVATE BLOB_PATH="${concat_model}")
dai_add_example(diff Cast/diff.cpp ON OFF)
target_compile_definitions(diff PRIVATE BLOB_PATH="${diff_model}")

# ToF
dai_add_example(spatial_tiny_yolo_tof_v3 SpatialDetection/spatial_tiny_yolo_tof.cpp OFF OFF)
dai_add_example(spatial_tiny_yolo_tof_v4 SpatialDetection/spatial_tiny_yolo_tof.cpp OFF OFF)
target_compile_definitions(spatial_tiny_yolo_tof_v3 PRIVATE BLOB_PATH="${tiny_yolo_v3_blob}")
target_compile_definitions(spatial_tiny_yolo_tof_v4 PRIVATE BLOB_PATH="${tiny_yolo_v4_blob}")
13 changes: 7 additions & 6 deletions examples/Camera/thermal_cam.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,18 @@ int main() {
// Find the sensor width, height.
int width, height;
bool thermal_found = false;
for (auto &features : d.getConnectedCameraFeatures()) {
if (std::find_if(features.supportedTypes.begin(), features.supportedTypes.end(), [](const dai::CameraSensorType &type) {
return type == dai::CameraSensorType::THERMAL;
}) != features.supportedTypes.end()) {
thermal->setBoardSocket(features.socket); // Thermal will always be on CAM_E
for(auto& features : d.getConnectedCameraFeatures()) {
if(std::find_if(features.supportedTypes.begin(),
features.supportedTypes.end(),
[](const dai::CameraSensorType& type) { return type == dai::CameraSensorType::THERMAL; })
!= features.supportedTypes.end()) {
thermal->setBoardSocket(features.socket); // Thermal will always be on CAM_E
width = features.width;
height = features.height;
thermal_found = true;
}
}
if (!thermal_found) {
if(!thermal_found) {
throw std::runtime_error("Thermal camera not found!");
}
thermal->setPreviewSize(width, height);
Expand Down
50 changes: 50 additions & 0 deletions examples/Cast/blur.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#include <depthai/depthai.hpp>
#include <opencv2/opencv.hpp>

constexpr int SHAPE = 300;

int main() {
dai::Pipeline p;

auto camRgb = p.create<dai::node::ColorCamera>();
auto nn = p.create<dai::node::NeuralNetwork>();
auto rgbOut = p.create<dai::node::XLinkOut>();
auto cast = p.create<dai::node::Cast>();
auto castXout = p.create<dai::node::XLinkOut>();

camRgb->setPreviewSize(SHAPE, SHAPE);
camRgb->setInterleaved(false);

nn->setBlobPath(BLOB_PATH);

rgbOut->setStreamName("rgb");
castXout->setStreamName("cast");

cast->setOutputFrameType(dai::ImgFrame::Type::BGR888p);

// Linking
camRgb->preview.link(nn->input);
camRgb->preview.link(rgbOut->input);
nn->out.link(cast->input);
cast->output.link(castXout->input);

dai::Device device(p);
auto qCam = device.getOutputQueue("rgb", 4, false);
auto qCast = device.getOutputQueue("cast", 4, false);

while(true) {
auto inCast = qCast->get<dai::ImgFrame>();
auto inRgb = qCam->get<dai::ImgFrame>();

if(inCast && inRgb) {
cv::imshow("Blur", inCast->getCvFrame());
cv::imshow("Original", inRgb->getCvFrame());
}

if(cv::waitKey(1) == 'q') {
break;
}
}

return 0;
}
63 changes: 63 additions & 0 deletions examples/Cast/concat.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
#include <depthai/depthai.hpp>
#include <opencv2/opencv.hpp>

constexpr int SHAPE = 300;

int main() {
dai::Pipeline p;

auto camRgb = p.create<dai::node::ColorCamera>();
auto left = p.create<dai::node::MonoCamera>();
auto right = p.create<dai::node::MonoCamera>();
auto manipLeft = p.create<dai::node::ImageManip>();
auto manipRight = p.create<dai::node::ImageManip>();
auto nn = p.create<dai::node::NeuralNetwork>();
auto cast = p.create<dai::node::Cast>();
auto castXout = p.create<dai::node::XLinkOut>();

camRgb->setPreviewSize(SHAPE, SHAPE);
camRgb->setInterleaved(false);
camRgb->setColorOrder(dai::ColorCameraProperties::ColorOrder::BGR);

left->setCamera("left");
left->setResolution(dai::MonoCameraProperties::SensorResolution::THE_400_P);
manipLeft->initialConfig.setResize(SHAPE, SHAPE);
manipLeft->initialConfig.setFrameType(dai::ImgFrame::Type::BGR888p);

right->setCamera("right");
right->setResolution(dai::MonoCameraProperties::SensorResolution::THE_400_P);
manipRight->initialConfig.setResize(SHAPE, SHAPE);
manipRight->initialConfig.setFrameType(dai::ImgFrame::Type::BGR888p);

nn->setBlobPath(BLOB_PATH);
nn->setNumInferenceThreads(2);

castXout->setStreamName("cast");
cast->setOutputFrameType(dai::ImgFrame::Type::BGR888p);

// Linking
left->out.link(manipLeft->inputImage);
right->out.link(manipRight->inputImage);
manipLeft->out.link(nn->inputs["img1"]);
camRgb->preview.link(nn->inputs["img2"]);
manipRight->out.link(nn->inputs["img3"]);
nn->out.link(cast->input);
cast->output.link(castXout->input);

// Pipeline is defined, now we can connect to the device
dai::Device device(p);
auto qCast = device.getOutputQueue("cast", 4, false);

while(true) {
auto inCast = qCast->get<dai::ImgFrame>();
if(inCast) {
cv::imshow("Concated frames", inCast->getCvFrame());
}

if(cv::waitKey(1) == 'q') {
break;
}
}

return 0;
}
66 changes: 66 additions & 0 deletions examples/Cast/diff.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#include <depthai/depthai.hpp>
#include <filesystem>
#include <opencv2/opencv.hpp>

constexpr int SHAPE = 720;

int main() {
dai::Pipeline p;

auto camRgb = p.create<dai::node::ColorCamera>();
auto nn = p.create<dai::node::NeuralNetwork>();
auto script = p.create<dai::node::Script>();
auto rgbXout = p.create<dai::node::XLinkOut>();
auto cast = p.create<dai::node::Cast>();
auto castXout = p.create<dai::node::XLinkOut>();

camRgb->setVideoSize(SHAPE, SHAPE);
camRgb->setPreviewSize(SHAPE, SHAPE);
camRgb->setInterleaved(false);

nn->setBlobPath(BLOB_PATH);

script->setScript(R"(
old = node.io['in'].get()
while True:
frame = node.io['in'].get()
node.io['img1'].send(old)
node.io['img2'].send(frame)
old = frame
)");

rgbXout->setStreamName("rgb");
castXout->setStreamName("cast");
cast->setOutputFrameType(dai::RawImgFrame::Type::GRAY8);

// Linking
camRgb->preview.link(script->inputs["in"]);
script->outputs["img1"].link(nn->inputs["img1"]);
script->outputs["img2"].link(nn->inputs["img2"]);
camRgb->video.link(rgbXout->input);
nn->out.link(cast->input);
cast->output.link(castXout->input);

// Pipeline is defined, now we can connect to the device
dai::Device device(p);
auto qCam = device.getOutputQueue("rgb", 4, false);
auto qCast = device.getOutputQueue("cast", 4, false);

while(true) {
auto colorFrame = qCam->get<dai::ImgFrame>();
if(colorFrame) {
cv::imshow("Color", colorFrame->getCvFrame());
}

auto inCast = qCast->get<dai::ImgFrame>();
if(inCast) {
cv::imshow("Diff", inCast->getCvFrame());
}

if(cv::waitKey(1) == 'q') {
break;
}
}

return 0;
}
2 changes: 1 addition & 1 deletion examples/FeatureTracker/feature_tracker.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class FeatureTrackerDrawer {
// for how many frames the feature is tracked
static int trackedFeaturesPathLength;

using featureIdType = decltype(dai::Point2f::x);
using featureIdType = decltype(dai::TrackedFeature::id);

std::unordered_set<featureIdType> trackedIDs;
std::unordered_map<featureIdType, std::deque<dai::Point2f>> trackedFeaturesPath;
Expand Down
Loading
Loading