diff --git a/conf/airframes/tudelft/bebop_course_orangeavoid.xml b/conf/airframes/tudelft/bebop_course_orangeavoid.xml
index 6ec08a8daf..2ef547dbfe 100644
--- a/conf/airframes/tudelft/bebop_course_orangeavoid.xml
+++ b/conf/airframes/tudelft/bebop_course_orangeavoid.xml
@@ -61,6 +61,10 @@
+
diff --git a/conf/modules/cv_opencvdemo.xml b/conf/modules/cv_opencvdemo.xml
index 950aa793c8..2395b16c53 100644
--- a/conf/modules/cv_opencvdemo.xml
+++ b/conf/modules/cv_opencvdemo.xml
@@ -60,18 +60,18 @@ extern "C" {
-
+
-
+
+
-
-
+
@@ -82,19 +82,22 @@ extern "C" {
-
+
-
+
-
+
+
+
+
@@ -103,5 +106,6 @@ extern "C" {
+
diff --git a/sw/airborne/modules/computer_vision/opencv_example.cpp b/sw/airborne/modules/computer_vision/opencv_example.cpp
index 79b93e8f6a..5307f708a9 100644
--- a/sw/airborne/modules/computer_vision/opencv_example.cpp
+++ b/sw/airborne/modules/computer_vision/opencv_example.cpp
@@ -43,7 +43,7 @@ int opencv_example(char *img, int width, int height)
#if OPENCVDEMO_GRAYSCALE
// Grayscale image example
- cvtColor(M, image, CV_YUV2GRAY_Y422);
+ cvtColor(M, image, cv::COLOR_YUV2BGR_YUY2);
// Canny edges, only works with grayscale image
int edgeThresh = 35;
Canny(image, image, edgeThresh, edgeThresh * 3);
@@ -52,7 +52,7 @@ int opencv_example(char *img, int width, int height)
#else // OPENCVDEMO_GRAYSCALE
// Color image example
// Convert the image to an OpenCV Mat
- cvtColor(M, image, CV_YUV2BGR_Y422);
+ cvtColor(M, image, cv::COLOR_YUV2BGR_YUY2);
// Blur it, because we can
blur(image, image, Size(5, 5));
// Convert back to YUV422 and put it in place of the original image
diff --git a/sw/airborne/modules/computer_vision/opencv_image_functions.cpp b/sw/airborne/modules/computer_vision/opencv_image_functions.cpp
index f4471a10f2..4fbee07d9e 100644
--- a/sw/airborne/modules/computer_vision/opencv_image_functions.cpp
+++ b/sw/airborne/modules/computer_vision/opencv_image_functions.cpp
@@ -39,8 +39,8 @@ void coloryuv_opencv_to_yuv422(Mat image, char *img, int width, int height)
CV_Assert(image.depth() == CV_8U);
CV_Assert(image.channels() == 3);
- int nRows = image.rows;
- int nCols = image.cols;
+ int nRows = min(image.rows, height);
+ int nCols = min(image.cols, width);
int byte_index = 0;
for(int r = 0; r < nRows; ++r) {
@@ -70,8 +70,8 @@ void grayscale_opencv_to_yuv422(Mat image, char *img, int width, int height)
CV_Assert(image.depth() == CV_8U);
CV_Assert(image.channels() == 1);
- int n_rows = image.rows;
- int n_cols = image.cols;
+ int n_rows = min(image.rows, height);
+ int n_cols = min(image.cols, width);
// If the image is one block in memory we can iterate over it all at once!
if (image.isContinuous()) {
diff --git a/sw/ext/opencv_bebop b/sw/ext/opencv_bebop
index b2264ae3ee..472e91798b 160000
--- a/sw/ext/opencv_bebop
+++ b/sw/ext/opencv_bebop
@@ -1 +1 @@
-Subproject commit b2264ae3ee4bc8e79df4d66eff23e8fb3f7ab557
+Subproject commit 472e91798b339784e404eb622d9343e00c07a432
diff --git a/sw/ext/pprzlink b/sw/ext/pprzlink
index d6614740b6..a6225a2c99 160000
--- a/sw/ext/pprzlink
+++ b/sw/ext/pprzlink
@@ -1 +1 @@
-Subproject commit d6614740b6d7a3c2549cc9b38b2d3e76ea559ac3
+Subproject commit a6225a2c999fda27c2e6f5f71563abdaa36aa740
diff --git a/sw/tools/install.py b/sw/tools/install.py
index 6788188068..052ac91d89 100755
--- a/sw/tools/install.py
+++ b/sw/tools/install.py
@@ -97,7 +97,10 @@ class InstallWindow(QWidget):
def cmd_bebopcv(self):
self.execute('git submodule init && git submodule sync && git submodule update ./sw/ext/opencv_bebop')
- self.execute('sudo -E apt-get -f -y install cmake libjpeg-turbo8-dev libpng-dev libtiff-dev zlib1g-dev libdc1394-22-dev')
+ if distro_version < 22.04:
+ self.execute('sudo -E apt-get -f -y install cmake libjpeg-turbo8-dev libpng-dev libtiff-dev zlib1g-dev libdc1394-22-dev')
+ else:
+ self.execute('sudo -E apt-get -f -y install cmake libjpeg-turbo8-dev libpng-dev libtiff-dev zlib1g-dev libdc1394-dev')
def cmd_vlc(self):
self.execute('sudo -E apt-get -f -y install ffmpeg vlc jstest-gtk default-jre')
@@ -183,8 +186,6 @@ class InstallWindow(QWidget):
button8 = QPushButton('8) Bebop Opencv')
button8.clicked.connect(self.cmd_bebopcv)
- if distro_version > 20.04:
- button8.setDisabled(True)
btn_layout.addWidget(button8)
button9 = QPushButton('9) VLC + Joystick + Natnet')