From 42d7accc93e2c08dd883573f32fd633f197d8809 Mon Sep 17 00:00:00 2001 From: TheMarpe Date: Tue, 23 Nov 2021 21:10:13 +0100 Subject: [PATCH 1/8] ImageManip refactor and added additional functionality --- cmake/Depthai/DepthaiDeviceSideConfig.cmake | 2 +- examples/CMakeLists.txt | 1 + examples/ImageManip/image_manip_tiling.cpp | 4 ++ examples/ImageManip/image_manip_warp_mesh.cpp | 48 +++++++++++++++++++ .../pipeline/datatype/ImageManipConfig.hpp | 6 +++ include/depthai/pipeline/node/ImageManip.hpp | 10 +++- shared/depthai-shared | 2 +- src/pipeline/datatype/ImageManipConfig.cpp | 8 ++++ src/pipeline/node/ImageManip.cpp | 15 ++++++ 9 files changed, 93 insertions(+), 3 deletions(-) create mode 100644 examples/ImageManip/image_manip_warp_mesh.cpp diff --git a/cmake/Depthai/DepthaiDeviceSideConfig.cmake b/cmake/Depthai/DepthaiDeviceSideConfig.cmake index 5b7a9c471..2e670abb1 100644 --- a/cmake/Depthai/DepthaiDeviceSideConfig.cmake +++ b/cmake/Depthai/DepthaiDeviceSideConfig.cmake @@ -2,7 +2,7 @@ set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot") # "full commit hash of device side binary" -set(DEPTHAI_DEVICE_SIDE_COMMIT "7699a5479cd35532e5c6443301491541088d5549") +set(DEPTHAI_DEVICE_SIDE_COMMIT "53ec330e65aef65aac87bd072f4a88c43d635c86") # "version if applicable" set(DEPTHAI_DEVICE_SIDE_VERSION "") diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 12cf33255..c92c4639e 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -180,6 +180,7 @@ dai_add_example(image_manip ImageManip/image_manip_example.cpp ON) dai_add_example(image_manip_rotate ImageManip/image_manip_rotate.cpp ON) dai_add_example(image_manip_tiling ImageManip/image_manip_tiling.cpp ON) dai_add_example(rgb_rotate_warp ImageManip/rgb_rotate_warp.cpp ON) +dai_add_example(image_manip_warp_mesh ImageManip/image_manip_warp_mesh.cpp ON) # IMU dai_add_example(imu_gyroscope_accelerometer IMU/imu_gyroscope_accelerometer.cpp ON) diff --git a/examples/ImageManip/image_manip_tiling.cpp b/examples/ImageManip/image_manip_tiling.cpp index 3617b4f1d..a76f7649c 100644 --- a/examples/ImageManip/image_manip_tiling.cpp +++ b/examples/ImageManip/image_manip_tiling.cpp @@ -18,11 +18,15 @@ int main() { // preview frame into 2 500x500 frames auto manip1 = pipeline.create(); manip1->initialConfig.setCropRect(0, 0, 0.5, 1); + // Flip functionality + manip1->initialConfig.setHorizontalFlip(true); manip1->setMaxOutputFrameSize(maxFrameSize); camRgb->preview.link(manip1->inputImage); auto manip2 = pipeline.create(); manip2->initialConfig.setCropRect(0.5, 0, 1, 1); + // Flip functionality + manip1->initialConfig.setVerticalFlip(true); manip2->setMaxOutputFrameSize(maxFrameSize); camRgb->preview.link(manip2->inputImage); diff --git a/examples/ImageManip/image_manip_warp_mesh.cpp b/examples/ImageManip/image_manip_warp_mesh.cpp new file mode 100644 index 000000000..ab20a0d5f --- /dev/null +++ b/examples/ImageManip/image_manip_warp_mesh.cpp @@ -0,0 +1,48 @@ +#include + +// Inludes common necessary includes for development using depthai library +#include "depthai/depthai.hpp" + +int main() { + using namespace std; + + // Create pipeline + dai::Pipeline pipeline; + + auto camRgb = pipeline.create(); + camRgb->setPreviewSize(1000, 500); + camRgb->setInterleaved(false); + auto maxFrameSize = camRgb->getPreviewHeight() * camRgb->getPreviewHeight() * 3; + + // Warp preview frame + auto manip1 = pipeline.create(); + // Create a custom warp mesh + dai::Point2f tl(20, 20); + dai::Point2f tr(460, 20); + dai::Point2f ml(100, 250); + dai::Point2f mr(400, 250); + dai::Point2f bl(20, 460); + dai::Point2f br(460, 460); + manip1->setWarpMesh({tl,tr,ml,mr,bl,br}, 2, 3); + + manip1->setMaxOutputFrameSize(maxFrameSize); + camRgb->preview.link(manip1->inputImage); + + auto xout1 = pipeline.create(); + xout1->setStreamName("out1"); + manip1->out.link(xout1->input); + + dai::Device device(pipeline); + auto q1 = device.getOutputQueue("out1", 8, false); + while(true) { + auto in1 = q1->get(); + if(in1) { + cv::imshow("Warped preview", in1->getCvFrame()); + } + int key = cv::waitKey(1); + if(key == 'q' || key == 'Q') return 0; + } + return 0; +} + + diff --git a/include/depthai/pipeline/datatype/ImageManipConfig.hpp b/include/depthai/pipeline/datatype/ImageManipConfig.hpp index 8d8e6c855..db4008620 100644 --- a/include/depthai/pipeline/datatype/ImageManipConfig.hpp +++ b/include/depthai/pipeline/datatype/ImageManipConfig.hpp @@ -156,6 +156,12 @@ class ImageManipConfig : public Buffer { */ void setHorizontalFlip(bool flip); + /** + * Specify vertical flip + * @param flip True to enable vertical flip, false otherwise + */ + void setVerticalFlip(bool flip); + /** * Instruct ImageManip to not remove current image from its queue and use the same for next message. * @param reuse True to enable reuse, false otherwise diff --git a/include/depthai/pipeline/node/ImageManip.hpp b/include/depthai/pipeline/node/ImageManip.hpp index a95c57258..8514ff097 100644 --- a/include/depthai/pipeline/node/ImageManip.hpp +++ b/include/depthai/pipeline/node/ImageManip.hpp @@ -55,7 +55,7 @@ class ImageManip : public Node { [[deprecated("Use 'initialConfig.setCenterCrop()' instead")]] void setCenterCrop(float ratio, float whRatio = 1.0f); [[deprecated("Use 'initialConfig.setResize()' instead")]] void setResize(int w, int h); [[deprecated("Use 'initialConfig.setResizeThumbnail()' instead")]] void setResizeThumbnail(int w, int h, int bgRed = 0, int bgGreen = 0, int bgBlue = 0); - [[deprecated("Use 'initialConfig.setFrameType()' instead")]] void setFrameType(dai::RawImgFrame::Type name); + [[deprecated("Use 'initialConfig.setFrameType()' instead")]] void setFrameType(ImgFrame::Type name); [[deprecated("Use 'initialConfig.setHorizontalFlip()' instead")]] void setHorizontalFlip(bool flip); void setKeepAspectRatio(bool keep); @@ -77,6 +77,14 @@ class ImageManip : public Node { * @param maxFrameSize Maximum frame size in bytes */ void setMaxOutputFrameSize(int maxFrameSize); + + /** + * Set a custom warp mesh + * @param meshData 2D plane of mesh points, starting from top left to bottom right + * @param width Width of mesh + * @param height Height of mesh + */ + void setWarpMesh(std::vector meshData, int width, int height); }; } // namespace node diff --git a/shared/depthai-shared b/shared/depthai-shared index eb26ac396..47c79f7db 160000 --- a/shared/depthai-shared +++ b/shared/depthai-shared @@ -1 +1 @@ -Subproject commit eb26ac3964cb9ca591a98f5143620529cdec99dd +Subproject commit 47c79f7db369610b9cec26f3179e4dfb13f29d87 diff --git a/src/pipeline/datatype/ImageManipConfig.cpp b/src/pipeline/datatype/ImageManipConfig.cpp index 31ea98de5..f81936547 100644 --- a/src/pipeline/datatype/ImageManipConfig.cpp +++ b/src/pipeline/datatype/ImageManipConfig.cpp @@ -153,6 +153,14 @@ void ImageManipConfig::setHorizontalFlip(bool flip) { cfg.formatConfig.flipHorizontal = flip; } +void ImageManipConfig::setVerticalFlip(bool flip) { + // Enable format stage + cfg.enableFormat = true; + + // Set pixel format + cfg.formatConfig.flipVertical = flip; +} + void ImageManipConfig::setReusePreviousImage(bool reuse) { cfg.reusePreviousImage = reuse; } diff --git a/src/pipeline/node/ImageManip.cpp b/src/pipeline/node/ImageManip.cpp index bb87e89db..74cd65743 100644 --- a/src/pipeline/node/ImageManip.cpp +++ b/src/pipeline/node/ImageManip.cpp @@ -72,5 +72,20 @@ void ImageManip::setMaxOutputFrameSize(int maxFrameSize) { properties.outputFrameSize = maxFrameSize; } +void ImageManip::setWarpMesh(std::vector meshData, int width, int height) { + // TODO(themarpe) - optimize + Asset asset("mesh"); + asset.alignment = 64; + asset.data = std::vector(meshData.size() * sizeof(Point2f)); + for(size_t i = 0; i < meshData.size(); i++) { + // swap x & y, to construct internal representation + reinterpret_cast(asset.data.data())[i].x = meshData[i].y; + reinterpret_cast(asset.data.data())[i].y = meshData[i].x; + } + properties.meshUri = assetManager.set(asset)->getRelativeUri(); + properties.meshWidth = width; + properties.meshHeight = height; +} + } // namespace node } // namespace dai From 3da1b89a57804c969b9394c38f1553da0643a146 Mon Sep 17 00:00:00 2001 From: TheMarpe Date: Sat, 27 Nov 2021 00:53:01 +0100 Subject: [PATCH 2/8] ImageManip - fixed odd warp mesh width --- cmake/Depthai/DepthaiDeviceSideConfig.cmake | 2 +- examples/ImageManip/image_manip_warp_mesh.cpp | 38 ++++++++++++---- include/depthai/pipeline/node/ImageManip.hpp | 4 +- src/pipeline/node/ImageManip.cpp | 44 ++++++++++++++++--- 4 files changed, 71 insertions(+), 17 deletions(-) diff --git a/cmake/Depthai/DepthaiDeviceSideConfig.cmake b/cmake/Depthai/DepthaiDeviceSideConfig.cmake index 77a4a7d9a..388b5ef5a 100644 --- a/cmake/Depthai/DepthaiDeviceSideConfig.cmake +++ b/cmake/Depthai/DepthaiDeviceSideConfig.cmake @@ -2,7 +2,7 @@ set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot") # "full commit hash of device side binary" -set(DEPTHAI_DEVICE_SIDE_COMMIT "b62407f092fae8ee16bcd0ad77c3ea357fcfc56c") +set(DEPTHAI_DEVICE_SIDE_COMMIT "9dce18f220f3f927be309fe7b4aa535cf897897a") # "version if applicable" set(DEPTHAI_DEVICE_SIDE_VERSION "") diff --git a/examples/ImageManip/image_manip_warp_mesh.cpp b/examples/ImageManip/image_manip_warp_mesh.cpp index ab20a0d5f..170c79b4f 100644 --- a/examples/ImageManip/image_manip_warp_mesh.cpp +++ b/examples/ImageManip/image_manip_warp_mesh.cpp @@ -10,11 +10,11 @@ int main() { dai::Pipeline pipeline; auto camRgb = pipeline.create(); - camRgb->setPreviewSize(1000, 500); + camRgb->setPreviewSize(500, 500); camRgb->setInterleaved(false); - auto maxFrameSize = camRgb->getPreviewHeight() * camRgb->getPreviewHeight() * 3; + auto maxFrameSize = camRgb->getPreviewWidth() * camRgb->getPreviewHeight() * 3; - // Warp preview frame + // Warp preview frame 1 auto manip1 = pipeline.create(); // Create a custom warp mesh dai::Point2f tl(20, 20); @@ -23,26 +23,46 @@ int main() { dai::Point2f mr(400, 250); dai::Point2f bl(20, 460); dai::Point2f br(460, 460); - manip1->setWarpMesh({tl,tr,ml,mr,bl,br}, 2, 3); - + manip1->setWarpMesh({tl, tr, ml, mr, bl, br}, 2, 3); manip1->setMaxOutputFrameSize(maxFrameSize); - camRgb->preview.link(manip1->inputImage); + camRgb->preview.link(manip1->inputImage); auto xout1 = pipeline.create(); xout1->setStreamName("out1"); manip1->out.link(xout1->input); + // Warp preview frame 2 + auto manip2 = pipeline.create(); + // Create a custom warp mesh + // clang-format off + std::vector mesh2 = { + {20, 20}, {250, 100}, {460, 20}, + {100,250}, {250, 250}, {400, 250}, + {20, 480}, {250,400}, {460,480} + }; + // clang-format on + manip2->setWarpMesh(mesh2, 3, 3); + manip2->setMaxOutputFrameSize(maxFrameSize); + + camRgb->preview.link(manip2->inputImage); + auto xout2 = pipeline.create(); + xout2->setStreamName("out2"); + manip2->out.link(xout2->input); + dai::Device device(pipeline); auto q1 = device.getOutputQueue("out1", 8, false); + auto q2 = device.getOutputQueue("out2", 8, false); while(true) { auto in1 = q1->get(); if(in1) { - cv::imshow("Warped preview", in1->getCvFrame()); + cv::imshow("Warped preview 1", in1->getCvFrame()); + } + auto in2 = q2->get(); + if(in2) { + cv::imshow("Warped preview 2", in2->getCvFrame()); } int key = cv::waitKey(1); if(key == 'q' || key == 'Q') return 0; } return 0; } - - diff --git a/include/depthai/pipeline/node/ImageManip.hpp b/include/depthai/pipeline/node/ImageManip.hpp index 8514ff097..7fc88b671 100644 --- a/include/depthai/pipeline/node/ImageManip.hpp +++ b/include/depthai/pipeline/node/ImageManip.hpp @@ -22,6 +22,7 @@ class ImageManip : public Node { nlohmann::json getProperties() override; std::shared_ptr clone() override; + void setWarpMesh(const float* meshData, int numMeshPoints, int width, int height); public: std::string getName() const override; @@ -84,7 +85,8 @@ class ImageManip : public Node { * @param width Width of mesh * @param height Height of mesh */ - void setWarpMesh(std::vector meshData, int width, int height); + void setWarpMesh(const std::vector& meshData, int width, int height); + void setWarpMesh(const std::vector>& meshData, int width, int height); }; } // namespace node diff --git a/src/pipeline/node/ImageManip.cpp b/src/pipeline/node/ImageManip.cpp index 74cd65743..21fda7e3b 100644 --- a/src/pipeline/node/ImageManip.cpp +++ b/src/pipeline/node/ImageManip.cpp @@ -72,20 +72,52 @@ void ImageManip::setMaxOutputFrameSize(int maxFrameSize) { properties.outputFrameSize = maxFrameSize; } -void ImageManip::setWarpMesh(std::vector meshData, int width, int height) { +void ImageManip::setWarpMesh(const float* meshData, int numMeshPoints, int width, int height) { + if(numMeshPoints < width * height) { + throw std::invalid_argument("Not enough points provided for specified width and height"); + } + // TODO(themarpe) - optimize Asset asset("mesh"); asset.alignment = 64; - asset.data = std::vector(meshData.size() * sizeof(Point2f)); - for(size_t i = 0; i < meshData.size(); i++) { - // swap x & y, to construct internal representation - reinterpret_cast(asset.data.data())[i].x = meshData[i].y; - reinterpret_cast(asset.data.data())[i].y = meshData[i].x; + + // Align stride to 16B + constexpr auto ALIGNMENT = 16; + size_t meshStride = ((size_t)((sizeof(Point2f) * width)) + (ALIGNMENT - 1)) & ~(ALIGNMENT - 1); + // Specify final mesh size + size_t meshSize = meshStride * height; + + // Create mesh data + asset.data = std::vector(meshSize); + + // Fill out mesh points with stride + for(int i = 0; i < height; i++) { + for(int j = 0; j < width; j++) { + // get location in meshData + size_t inputMeshIndex = (i * width + j) * 2; // 2 float values per point + + // get output offset + size_t outputMeshOffset = (meshStride * i) + (j * sizeof(Point2f)); + auto& point = reinterpret_cast(asset.data.data()[outputMeshOffset]); + + // Asign reversed mesh coordinates (HW specified) + point.x = meshData[inputMeshIndex + 1]; + point.y = meshData[inputMeshIndex + 0]; + } } + properties.meshUri = assetManager.set(asset)->getRelativeUri(); properties.meshWidth = width; properties.meshHeight = height; } +void ImageManip::setWarpMesh(const std::vector& meshData, int width, int height) { + setWarpMesh(reinterpret_cast(meshData.data()), static_cast(meshData.size()), width, height); +} + +void ImageManip::setWarpMesh(const std::vector>& meshData, int width, int height) { + setWarpMesh(reinterpret_cast(meshData.data()), static_cast(meshData.size()), width, height); +} + } // namespace node } // namespace dai From 7b0e4f38bf6f09f4e6ff964641658c0fbd617ee9 Mon Sep 17 00:00:00 2001 From: TheMarpe Date: Mon, 20 Dec 2021 02:45:50 +0100 Subject: [PATCH 3/8] ImageManip setResize crop fix --- cmake/Depthai/DepthaiDeviceSideConfig.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Depthai/DepthaiDeviceSideConfig.cmake b/cmake/Depthai/DepthaiDeviceSideConfig.cmake index 388b5ef5a..34b114a32 100644 --- a/cmake/Depthai/DepthaiDeviceSideConfig.cmake +++ b/cmake/Depthai/DepthaiDeviceSideConfig.cmake @@ -2,7 +2,7 @@ set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot") # "full commit hash of device side binary" -set(DEPTHAI_DEVICE_SIDE_COMMIT "9dce18f220f3f927be309fe7b4aa535cf897897a") +set(DEPTHAI_DEVICE_SIDE_COMMIT "27bc51a1b85d1ce7354aca1e062d7fda1ecfe4fa") # "version if applicable" set(DEPTHAI_DEVICE_SIDE_VERSION "") From d36cee0286ba51ba0246dbf5ee93cb625547a527 Mon Sep 17 00:00:00 2001 From: OanaMariaVatavu Date: Fri, 18 Mar 2022 13:27:30 +0200 Subject: [PATCH 4/8] Update FW - [ImageManip][bug fix] Properly align the maximum size of the calculated parameters for the warp filter --- cmake/Depthai/DepthaiDeviceSideConfig.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Depthai/DepthaiDeviceSideConfig.cmake b/cmake/Depthai/DepthaiDeviceSideConfig.cmake index 2419112a4..fea502e4b 100644 --- a/cmake/Depthai/DepthaiDeviceSideConfig.cmake +++ b/cmake/Depthai/DepthaiDeviceSideConfig.cmake @@ -2,7 +2,7 @@ set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot") # "full commit hash of device side binary" -set(DEPTHAI_DEVICE_SIDE_COMMIT "6852cf545fd02003cf106f58fe3a1ad464f5ad34") +set(DEPTHAI_DEVICE_SIDE_COMMIT "35d2c8c5f2b082326334c982d54ae16908f1315d") # "version if applicable" set(DEPTHAI_DEVICE_SIDE_VERSION "") From 93e13ee60e9df3c3650201d5225666aa80a091c0 Mon Sep 17 00:00:00 2001 From: OanaMariaVatavu Date: Fri, 1 Apr 2022 19:35:16 +0300 Subject: [PATCH 5/8] Update FW - [ImageManip][bug fix][setCropRotatedRect] Adding a fix for the case when the center of the rectangle crop is very close to the image border --- cmake/Depthai/DepthaiDeviceSideConfig.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Depthai/DepthaiDeviceSideConfig.cmake b/cmake/Depthai/DepthaiDeviceSideConfig.cmake index fea502e4b..56e83d065 100644 --- a/cmake/Depthai/DepthaiDeviceSideConfig.cmake +++ b/cmake/Depthai/DepthaiDeviceSideConfig.cmake @@ -2,7 +2,7 @@ set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot") # "full commit hash of device side binary" -set(DEPTHAI_DEVICE_SIDE_COMMIT "35d2c8c5f2b082326334c982d54ae16908f1315d") +set(DEPTHAI_DEVICE_SIDE_COMMIT "69f4a4f521e5f3029d30582a5e6ad4352340d12a") # "version if applicable" set(DEPTHAI_DEVICE_SIDE_VERSION "") From b5e05bae81abc35f6365a92c7d95b541eaf5e25e Mon Sep 17 00:00:00 2001 From: OanaMariaVatavu Date: Thu, 14 Apr 2022 22:53:19 +0300 Subject: [PATCH 6/8] Update FW - [ImageManip] Adding support for input/output GRAY8 format --- cmake/Depthai/DepthaiDeviceSideConfig.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Depthai/DepthaiDeviceSideConfig.cmake b/cmake/Depthai/DepthaiDeviceSideConfig.cmake index aef3879a0..3ddcab50a 100644 --- a/cmake/Depthai/DepthaiDeviceSideConfig.cmake +++ b/cmake/Depthai/DepthaiDeviceSideConfig.cmake @@ -2,7 +2,7 @@ set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot") # "full commit hash of device side binary" -set(DEPTHAI_DEVICE_SIDE_COMMIT "391ede37d1b55aa3dac727f58ff99aac7d2865dc") +set(DEPTHAI_DEVICE_SIDE_COMMIT "53c09072ddcc23361a37026486e668196695a790") # "version if applicable" set(DEPTHAI_DEVICE_SIDE_VERSION "") From c74aa861bee9d11a7bd5b12b4280a476ba68d150 Mon Sep 17 00:00:00 2001 From: OanaMariaVatavu Date: Mon, 16 May 2022 07:47:34 +0300 Subject: [PATCH 7/8] [ImageManip] - FW update: [API maintained] [setKeepAspectRatio] - resize with keeping aspect ratio + crop the input field of view to match the output aspect ratio - using the "setKeepAspectRatio" API in conjunction with the "setResizeThumbnail" API, the "setKeepAspectRatio" API will not have any effect because the "setResizeThumbnail" API has priority - keepAspectRatio config is True by default [bugs fixed] [artifacts/memory coruption] Properly extract the chroma rect Properly compute the luma/chroma cached memory size Input interleaved -> planar conversion + rect rotation [hang] input rectangle outside frame --- cmake/Depthai/DepthaiDeviceSideConfig.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Depthai/DepthaiDeviceSideConfig.cmake b/cmake/Depthai/DepthaiDeviceSideConfig.cmake index 3ddcab50a..37d7af305 100644 --- a/cmake/Depthai/DepthaiDeviceSideConfig.cmake +++ b/cmake/Depthai/DepthaiDeviceSideConfig.cmake @@ -2,7 +2,7 @@ set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot") # "full commit hash of device side binary" -set(DEPTHAI_DEVICE_SIDE_COMMIT "53c09072ddcc23361a37026486e668196695a790") +set(DEPTHAI_DEVICE_SIDE_COMMIT "ababbe18bad449d5a3db0e238a6bad7d43a377fc") # "version if applicable" set(DEPTHAI_DEVICE_SIDE_VERSION "") From 8ecc668c945ff99795e3c7932ae12133f6f8153e Mon Sep 17 00:00:00 2001 From: OanaMariaVatavu Date: Tue, 17 May 2022 11:12:50 +0300 Subject: [PATCH 8/8] [ImageManip] - update FW --- cmake/Depthai/DepthaiDeviceSideConfig.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Depthai/DepthaiDeviceSideConfig.cmake b/cmake/Depthai/DepthaiDeviceSideConfig.cmake index 28641f1ce..882d4515f 100644 --- a/cmake/Depthai/DepthaiDeviceSideConfig.cmake +++ b/cmake/Depthai/DepthaiDeviceSideConfig.cmake @@ -2,7 +2,7 @@ set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot") # "full commit hash of device side binary" -set(DEPTHAI_DEVICE_SIDE_COMMIT "2041e04ea0a021f4534d630baf14813696f56311") +set(DEPTHAI_DEVICE_SIDE_COMMIT "e483189a46ece011aca33e693eddddbce0236f50") # "version if applicable" set(DEPTHAI_DEVICE_SIDE_VERSION "")