gnu: opencv: Loosen test suite failures.

* gnu/packages/image-processing.scm (opencv)[native-inputs]: Add patch
to opencv-contrib.
[arguments]: Update 'unpack-submodule-sources phase.
* gnu/packages/patches/opencv-rgbd-aarch64-test-fix.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
This commit is contained in:
Efraim Flashner 2019-01-14 11:32:02 +02:00
parent fdeb2def6a
commit 8e21fa0bd3
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
3 changed files with 48 additions and 2 deletions

View File

@ -1036,6 +1036,7 @@ dist_patch_DATA = \
%D%/packages/patches/ola-readdir-r.patch \ %D%/packages/patches/ola-readdir-r.patch \
%D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \ %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \
%D%/packages/patches/opencascade-oce-glibc-2.26.patch \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \
%D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch \
%D%/packages/patches/openfoam-4.1-cleanup.patch \ %D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \ %D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
%D%/packages/patches/openldap-CVE-2017-9287.patch \ %D%/packages/patches/openldap-CVE-2017-9287.patch \

View File

@ -322,9 +322,13 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
(let ((unpack (lambda (source target) (let ((unpack (lambda (source target)
(with-directory-excursion target (with-directory-excursion target
(apply invoke "unzip" (apply invoke "unzip"
(list (assoc-ref inputs source))))))
(untar (lambda (source target)
(with-directory-excursion target
(apply invoke "tar" "xvf"
(list (assoc-ref inputs source))))))) (list (assoc-ref inputs source)))))))
(unpack "opencv-extra" "../opencv-extra") (unpack "opencv-extra" "../opencv-extra")
(unpack "opencv-contrib" "../opencv-contrib")))) (untar "opencv-contrib" "../opencv-contrib"))))
(add-after 'set-paths 'add-ilmbase-include-path (add-after 'set-paths 'add-ilmbase-include-path
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
@ -363,6 +367,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
(uri (string-append "https://codeload.github.com/" (uri (string-append "https://codeload.github.com/"
"opencv/opencv_contrib/zip/" version)) "opencv/opencv_contrib/zip/" version))
(file-name (string-append "opencv-contrib-" version ".zip")) (file-name (string-append "opencv-contrib-" version ".zip"))
(patches (search-patches "opencv-rgbd-aarch64-test-fix.patch"))
(sha256 (sha256
(base32 "0j0ci6ia1qwklp9hq07ypl0vkngj1wrgh6n98n657m5d0pyp4m0g")))))) (base32 "0j0ci6ia1qwklp9hq07ypl0vkngj1wrgh6n98n657m5d0pyp4m0g"))))))
(inputs `(("libjpeg" ,libjpeg) (inputs `(("libjpeg" ,libjpeg)

View File

@ -0,0 +1,40 @@
https://github.com/opencv/opencv_contrib/commit/8aaa91c3dc835690477d7777e66948dbf5a87edc.patch
From 8aaa91c3dc835690477d7777e66948dbf5a87edc Mon Sep 17 00:00:00 2001
From: Tomoaki Teshima <tomoaki.teshima@gmail.com>
Date: Mon, 5 Nov 2018 20:32:23 +0900
Subject: [PATCH] avoid test failing on Aarch64 * loosen the threshold in
Rgbd_Normals.compute * make the minimum tvec larger in
RGBD_Odometry_Rgbd.algorithmic
---
modules/rgbd/test/test_normal.cpp | 2 +-
modules/rgbd/test/test_odometry.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules/rgbd/test/test_normal.cpp b/modules/rgbd/test/test_normal.cpp
index f2233553a7..ed54f2cd98 100644
--- a/modules/rgbd/test/test_normal.cpp
+++ b/modules/rgbd/test/test_normal.cpp
@@ -211,7 +211,7 @@ class CV_RgbdNormalsTest: public cvtest::BaseTest
std::cout << std::endl << "*** FALS" << std::endl;
errors[0][0] = 0.006f;
errors[0][1] = 0.03f;
- errors[1][0] = 0.00008f;
+ errors[1][0] = 0.0001f;
errors[1][1] = 0.02f;
break;
case 1:
diff --git a/modules/rgbd/test/test_odometry.cpp b/modules/rgbd/test/test_odometry.cpp
index 62b654a1ec..f5a2084504 100644
--- a/modules/rgbd/test/test_odometry.cpp
+++ b/modules/rgbd/test/test_odometry.cpp
@@ -213,7 +213,7 @@ void CV_OdometryTest::generateRandomTransformation(Mat& rvec, Mat& tvec)
normalize(rvec, rvec, rng.uniform(0.007f, maxRotation));
randu(tvec, Scalar(-1000), Scalar(1000));
- normalize(tvec, tvec, rng.uniform(0.007f, maxTranslation));
+ normalize(tvec, tvec, rng.uniform(0.008f, maxTranslation));
}
void CV_OdometryTest::run(int)