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')