opencv: update to v4.0.1.imx

This is the version used in meta-fsl-bsp-release branch sumo-4.14.98-2.0.0_ga.

https://jira.digi.com/browse/DEL-6603

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit is contained in:
Gabriel Valcazar 2019-05-13 13:14:32 +02:00
parent e3aebef77c
commit a74e80ab2d
13 changed files with 114 additions and 418 deletions

View File

@ -1,26 +1,30 @@
From 2bc6bb9831d07f035fea74ea745cea43dd5f9ef9 Mon Sep 17 00:00:00 2001
From 7144c44ec70dee73a628463b99ffeed74b1a8ef6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 9 Sep 2017 23:48:31 -0700
Date: Tue, 11 Sep 2018 00:21:18 -0700
Subject: [PATCH] Dont use isystem
clang really does not like it
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
cmake/OpenCVPCHSupport.cmake | 2 ++
1 file changed, 2 insertions(+)
cmake/OpenCVPCHSupport.cmake | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
Index: git/cmake/OpenCVPCHSupport.cmake
===================================================================
--- git.orig/cmake/OpenCVPCHSupport.cmake
+++ git/cmake/OpenCVPCHSupport.cmake
@@ -17,7 +17,8 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
IF(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.2.0")
diff --git a/cmake/OpenCVPCHSupport.cmake b/cmake/OpenCVPCHSupport.cmake
index f9b1b48b65..fe27a136f5 100644
--- a/cmake/OpenCVPCHSupport.cmake
+++ b/cmake/OpenCVPCHSupport.cmake
@@ -18,6 +18,8 @@ IF(CV_GCC)
SET(PCHSupport_FOUND TRUE)
ENDIF()
-
+ SET(CMAKE_INCLUDE_SYSTEM_FLAG_C "-I")
+ SET(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-I")
SET(_PCH_include_prefix "-I")
SET(_PCH_isystem_prefix "-isystem")
SET(_PCH_define_prefix "-D")
--
2.18.0

View File

@ -0,0 +1,33 @@
From 7d31f41d2a6759e244983504ce855fc32916b97a Mon Sep 17 00:00:00 2001
From: Jason Wessel <jason.wessel@windriver.com>
Date: Wed, 9 May 2018 13:33:59 -0700
Subject: [PATCH] Temporarliy work around deprecated ffmpeg RAW function
compile failure until next uprev
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
---
modules/videoio/src/cap_ffmpeg_impl.hpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/modules/videoio/src/cap_ffmpeg_impl.hpp b/modules/videoio/src/cap_ffmpeg_impl.hpp
index 5a9b10f075..97c6b74b07 100644
--- a/modules/videoio/src/cap_ffmpeg_impl.hpp
+++ b/modules/videoio/src/cap_ffmpeg_impl.hpp
@@ -667,6 +667,14 @@ struct ImplMutex::Impl
#endif
+/* NOTE This is deprecated in ffmpeg and the code should be removed */
+#ifndef AVFMT_RAWPICTURE
+#define AVFMT_RAWPICTURE 0x0020
+#endif /* AVFMT_RAWPICTURE */
+#ifndef CODEC_FLAG_GLOBAL_HEADER
+#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
+#endif
+
void ImplMutex::init()
{
impl = new Impl();
--
2.11.0

View File

@ -1,66 +0,0 @@
From f1604999632344f5bcbf6f611693917f6a9c2aa3 Mon Sep 17 00:00:00 2001
From: Alexander Alekhin <alexander.alekhin@intel.com>
Date: Mon, 9 Jul 2018 17:19:35 +0300
Subject: [PATCH] dnn: allow to use external protobuf
"custom layers" feature will not work properly in these builds.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Upstream-Status: Backport [https://github.com/opencv/opencv/commit/e2b5d112909b9dfd764f14833b82e38e4bc2f81f]
---
modules/dnn/CMakeLists.txt | 4 ++++
modules/dnn/src/caffe/caffe_io.cpp | 4 ++++
modules/dnn/test/test_layers.cpp | 4 ++++
3 files changed, 12 insertions(+)
diff --git a/modules/dnn/CMakeLists.txt b/modules/dnn/CMakeLists.txt
index e306dde..a2f741c 100644
--- a/modules/dnn/CMakeLists.txt
+++ b/modules/dnn/CMakeLists.txt
@@ -48,6 +48,10 @@ if(ANDROID)
add_definitions(-DDISABLE_POSIX_MEMALIGN -DTH_DISABLE_HEAP_TRACKING)
endif()
+if(NOT BUILD_PROTOBUF)
+ add_definitions(-DOPENCV_DNN_EXTERNAL_PROTOBUF=1)
+endif()
+
add_definitions(-DHAVE_PROTOBUF=1)
#suppress warnings in autogenerated caffe.pb.* files
diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp
index 730c752..9f4e31c 100644
--- a/modules/dnn/src/caffe/caffe_io.cpp
+++ b/modules/dnn/src/caffe/caffe_io.cpp
@@ -1120,7 +1120,11 @@ bool ReadProtoFromTextFile(const char* filename, Message* proto) {
std::ifstream fs(filename, std::ifstream::in);
CHECK(fs.is_open()) << "Can't open \"" << filename << "\"";
IstreamInputStream input(&fs);
+#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
return google::protobuf::TextFormat::Parser(true).Parse(&input, proto);
+#else
+ return google::protobuf::TextFormat::Parser().Parse(&input, proto);
+#endif
}
bool ReadProtoFromBinaryFile(const char* filename, Message* proto) {
diff --git a/modules/dnn/test/test_layers.cpp b/modules/dnn/test/test_layers.cpp
index 963206b..05ea61a 100644
--- a/modules/dnn/test/test_layers.cpp
+++ b/modules/dnn/test/test_layers.cpp
@@ -1150,7 +1150,11 @@ private:
TEST(Layer_Test_Interp_custom, Accuracy)
{
+#ifndef OPENCV_DNN_EXTERNAL_PROTOBUF
CV_DNN_REGISTER_LAYER_CLASS(Interp, InterpLayer);
+#else
+ CV_DNN_REGISTER_LAYER_CLASS(DISABLED_Interp, InterpLayer); // requires patched protobuf (available in OpenCV source tree only)
+#endif
testLayerUsingCaffeModels("layer_interp", DNN_TARGET_CPU, false, false);
LayerFactory::unregisterLayer("Interp");
}
--
2.7.4

View File

@ -1,66 +0,0 @@
From f49f6d52b45a09a133621c3e96b77b321746452f Mon Sep 17 00:00:00 2001
From: berak <px1704@web.de>
Date: Tue, 7 Aug 2018 15:14:22 +0200
Subject: [PATCH] photo: avoid resizing a const Mat in decolor()
---
modules/photo/src/contrast_preserve.hpp | 27 ++++++++++++++++++---------
1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/modules/photo/src/contrast_preserve.hpp b/modules/photo/src/contrast_preserve.hpp
index ec8274e..65ca9c1 100644
--- a/modules/photo/src/contrast_preserve.hpp
+++ b/modules/photo/src/contrast_preserve.hpp
@@ -204,14 +204,19 @@ void Decolor::add_to_vector_poly(vector < vector <double> > &polyGrad, const vec
idx1++;
}
-void Decolor::weak_order(const Mat &img, vector <double> &alf) const
+void Decolor::weak_order(const Mat &im, vector <double> &alf) const
{
- const int h = img.size().height;
- const int w = img.size().width;
+ Mat img;
+ const int h = im.size().height;
+ const int w = im.size().width;
if((h + w) > 800)
{
const double sizefactor = double(800)/(h+w);
- resize(img, img, Size(cvRound(h*sizefactor), cvRound(w*sizefactor)));
+ resize(im, img, Size(cvRound(h*sizefactor), cvRound(w*sizefactor)));
+ }
+ else
+ {
+ img = im;
}
Mat curIm = Mat(img.size(),CV_32FC1);
@@ -246,16 +251,20 @@ void Decolor::weak_order(const Mat &img, vector <double> &alf) const
alf[i] -= tmp1[i] * tmp2[i] * tmp3[i];
}
-void Decolor::grad_system(const Mat &img, vector < vector < double > > &polyGrad,
+void Decolor::grad_system(const Mat &im, vector < vector < double > > &polyGrad,
vector < double > &Cg, vector <Vec3i>& comb) const
{
- int h = img.size().height;
- int w = img.size().width;
-
+ Mat img;
+ int h = im.size().height;
+ int w = im.size().width;
if((h + w) > 800)
{
const double sizefactor = double(800)/(h+w);
- resize(img, img, Size(cvRound(h*sizefactor), cvRound(w*sizefactor)));
+ resize(im, img, Size(cvRound(h*sizefactor), cvRound(w*sizefactor)));
+ }
+ else
+ {
+ img = im;
}
h = img.size().height;
--
2.7.4

View File

@ -1,51 +0,0 @@
From fb2b26c4197cb7569e9df8afbadedbe419b4e04e Mon Sep 17 00:00:00 2001
From: yom <yom@home.com>
Date: Tue, 7 Aug 2018 17:52:05 +0200
Subject: [PATCH] photo: Decolor corrections * Keep image aspect ratio in
resize called in grad_system and weak_order * Bug correction in loop
inside Decolor::gradvector
---
modules/photo/src/contrast_preserve.hpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/modules/photo/src/contrast_preserve.hpp b/modules/photo/src/contrast_preserve.hpp
index 65ca9c1..1afd4bc 100644
--- a/modules/photo/src/contrast_preserve.hpp
+++ b/modules/photo/src/contrast_preserve.hpp
@@ -159,12 +159,12 @@ void Decolor::gradvector(const Mat &img, vector <double> &grad) const
for(int i=0;i<height;i++)
for(int j=0;j<width;j++)
- grad[i*height + j] = d_trans.at<float>(i, j);
+ grad[i*width + j] = d_trans.at<float>(i, j);
const int offset = width * height;
for(int i=0;i<height;i++)
for(int j=0;j<width;j++)
- grad[offset + i * height + j] = d1_trans.at<float>(i, j);
+ grad[offset + i * width + j] = d1_trans.at<float>(i, j);
}
void Decolor::colorGrad(const Mat &img, vector <double> &Cg) const
@@ -212,7 +212,7 @@ void Decolor::weak_order(const Mat &im, vector <double> &alf) const
if((h + w) > 800)
{
const double sizefactor = double(800)/(h+w);
- resize(im, img, Size(cvRound(h*sizefactor), cvRound(w*sizefactor)));
+ resize(im, img, Size(cvRound(w*sizefactor), cvRound(h*sizefactor)));
}
else
{
@@ -260,7 +260,7 @@ void Decolor::grad_system(const Mat &im, vector < vector < double > > &polyGrad,
if((h + w) > 800)
{
const double sizefactor = double(800)/(h+w);
- resize(im, img, Size(cvRound(h*sizefactor), cvRound(w*sizefactor)));
+ resize(im, img, Size(cvRound(w*sizefactor), cvRound(h*sizefactor)));
}
else
{
--
2.7.4

View File

@ -23,7 +23,7 @@ Index: git/modules/ts/include/opencv2/ts.hpp
===================================================================
--- git.orig/modules/ts/include/opencv2/ts.hpp
+++ git/modules/ts/include/opencv2/ts.hpp
@@ -611,7 +611,7 @@ protected:
@@ -608,7 +608,7 @@ protected:
}
};
@ -32,16 +32,8 @@ Index: git/modules/ts/include/opencv2/ts.hpp
struct DefaultRngAuto
{
@@ -667,14 +667,14 @@ std::string findDataFile(const std::stri
#ifdef HAVE_OPENCL
namespace ocl {
-void dumpOpenCLDevice();
+CV_EXPORTS void dumpOpenCLDevice();
}
#define TEST_DUMP_OCL_INFO cvtest::ocl::dumpOpenCLDevice();
#else
#define TEST_DUMP_OCL_INFO
@@ -671,7 +671,7 @@ private:
#endif
#endif
-void parseCustomOptions(int argc, char **argv);
@ -66,18 +58,12 @@ Index: git/modules/ts/include/opencv2/ts/ts_ext.hpp
===================================================================
--- git.orig/modules/ts/include/opencv2/ts/ts_ext.hpp
+++ git/modules/ts/include/opencv2/ts/ts_ext.hpp
@@ -9,10 +9,10 @@
@@ -9,7 +9,7 @@
#define OPENCV_TS_EXT_HPP
namespace cvtest {
-void checkIppStatus();
-extern bool skipUnstableTests;
-extern bool runBigDataTests;
-extern int testThreads;
+CV_EXPORTS void checkIppStatus();
+CV_EXPORTS extern bool skipUnstableTests;
+CV_EXPORTS extern bool runBigDataTests;
+CV_EXPORTS extern int testThreads;
}
// check for required "opencv_test" namespace
extern bool skipUnstableTests;
extern bool runBigDataTests;
extern int testThreads;

View File

@ -1,11 +0,0 @@
diff --git a/samples/openvx/CMakeLists.txt b/samples/openvx/CMakeLists.txt
index fd9165b..85fe948 100644
--- a/samples/openvx/CMakeLists.txt
+++ b/samples/openvx/CMakeLists.txt
@@ -21,5 +21,5 @@ add_definitions(-DIVX_HIDE_INFO_WARNINGS)
file(GLOB_RECURSE cpp_samples RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cpp)
foreach(sample_filename ${cpp_samples})
ocv_define_sample(tgt ${sample_filename} openvx)
- ocv_target_link_libraries(${tgt} ${OPENCV_LINKER_LIBS} ${OPENCV_OPENVX_SAMPLE_REQUIRED_DEPS})
+ ocv_target_link_libraries(${tgt} ${OPENCV_LINKER_LIBS} ${OPENCV_OPENVX_SAMPLE_REQUIRED_DEPS} ${OPENVX_LIBRARIES})
endforeach()

View File

@ -1,14 +0,0 @@
diff --git a/modules/python/bindings/CMakeLists.txt b/modules/python/bindings/CMakeLists.txt
index 73c67aa..a71c297 100644
--- a/modules/python/bindings/CMakeLists.txt
+++ b/modules/python/bindings/CMakeLists.txt
@@ -20,7 +20,8 @@ endforeach()
set(opencv_hdrs "")
set(opencv_userdef_hdrs "")
foreach(m ${OPENCV_PYTHON_MODULES})
- ocv_list_filter(OPENCV_MODULE_${m}_HEADERS "${OPENCV_MODULE_${m}_LOCATION}/include" __hdrs)
+ string(REPLACE "+" "\\\\+" __pattern "${OPENCV_MODULE_${m}_LOCATION}/include")
+ ocv_list_filter(OPENCV_MODULE_${m}_HEADERS "${__pattern}" __hdrs)
list(APPEND opencv_hdrs ${__hdrs})
file(GLOB userdef_hdrs ${OPENCV_MODULE_${m}_LOCATION}/misc/python/pyopencv*.hpp)
list(APPEND opencv_userdef_hdrs ${userdef_hdrs})

View File

@ -1,29 +0,0 @@
diff --git a/cmake/OpenCVGenPkgconfig.cmake b/cmake/OpenCVGenPkgconfig.cmake
index 425c0fa..9123dc6 100644
--- a/cmake/OpenCVGenPkgconfig.cmake
+++ b/cmake/OpenCVGenPkgconfig.cmake
@@ -31,7 +31,7 @@ macro(fix_prefix lst isown)
get_filename_component(libdir "${item}" PATH)
get_filename_component(_libname "${item}" NAME)
ocv_get_libname(libname "${_libname}")
- list(APPEND _lst "-L${libdir}" "-l${libname}")
+ list(APPEND _lst "-l${libname}")
else()
list(APPEND _lst "-l${item}")
endif()
@@ -125,10 +125,14 @@ ocv_list_unique(_3rdparty)
set(OPENCV_PC_LIBS
"-L\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}"
+ "-L\${exec_prefix}/${OPENCV_3P_LIB_INSTALL_PATH}"
"${_modules}"
)
if(BUILD_SHARED_LIBS)
- set(OPENCV_PC_LIBS_PRIVATE "${_extra}")
+ set(OPENCV_PC_LIBS_PRIVATE
+ "-L\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}"
+ "${_extra}"
+ )
else()
set(OPENCV_PC_LIBS_PRIVATE
"-L\${exec_prefix}/${OPENCV_3P_LIB_INSTALL_PATH}"

View File

@ -1,57 +0,0 @@
Upstream-status: Inappropriate [OE specific]
Signed-off-by: Ricardo Ribalda <ricardo.ribalda@gmail.com>
diff --git a/cmake/OpenCVFindLibProtobuf.cmake b/cmake/OpenCVFindLibProtobuf.cmake
index b6ce1e7fd56b..e916ec0df2a6 100644
--- a/cmake/OpenCVFindLibProtobuf.cmake
+++ b/cmake/OpenCVFindLibProtobuf.cmake
@@ -7,21 +7,21 @@ OCV_OPTION(BUILD_PROTOBUF "Force to build libprotobuf from sources" ON)
OCV_OPTION(PROTOBUF_UPDATE_FILES "Force to rebuild .proto files" OFF)
if(PROTOBUF_UPDATE_FILES)
- if(NOT DEFINED Protobuf_PROTOC_EXECUTABLE)
+ if(NOT DEFINED PROTOBUF_PROTOC_EXECUTABLE)
find_package(Protobuf QUIET)
endif()
- if(DEFINED Protobuf_PROTOC_EXECUTABLE AND EXISTS ${Protobuf_PROTOC_EXECUTABLE})
- message(STATUS "The protocol buffer compiler is found (${Protobuf_PROTOC_EXECUTABLE})")
+ if(DEFINED PROTOBUF_PROTOC_EXECUTABLE AND EXISTS ${PROTOBUF_PROTOC_EXECUTABLE})
+ message(STATUS "The protocol buffer compiler is found (${PROTOBUF_PROTOC_EXECUTABLE})")
else()
- message(FATAL_ERROR "The protocol buffer compiler is not found (Protobuf_PROTOC_EXECUTABLE='${Protobuf_PROTOC_EXECUTABLE}')")
+ message(FATAL_ERROR "The protocol buffer compiler is not found (PROTOBUF_PROTOC_EXECUTABLE='${PROTOBUF_PROTOC_EXECUTABLE}')")
endif()
endif()
-if(NOT BUILD_PROTOBUF AND NOT (DEFINED Protobuf_INCLUDE_DIRS AND DEFINED Protobuf_LIBRARIES))
+if(NOT BUILD_PROTOBUF AND NOT (DEFINED PROTOBUF_INCLUDE_DIR AND DEFINED PROTOBUF_LIBRARIES))
find_package(Protobuf QUIET)
endif()
-if(Protobuf_FOUND)
+if(PROTOBUF_FOUND OR (DEFINED PROTOBUF_INCLUDE_DIR AND DEFINED PROTOBUF_LIBRARIES))
# nothing
else()
set(Protobuf_LIBRARIES libprotobuf)
diff --git a/modules/dnn/CMakeLists.txt b/modules/dnn/CMakeLists.txt
index 2a71568d1a44..c6329a742263 100644
--- a/modules/dnn/CMakeLists.txt
+++ b/modules/dnn/CMakeLists.txt
@@ -7,7 +7,7 @@ if(DEFINED BUILD_opencv_dnn AND NOT BUILD_opencv_dnn)
endif()
include(${OpenCV_SOURCE_DIR}/cmake/OpenCVFindLibProtobuf.cmake)
-if(NOT Protobuf_FOUND)
+if(NOT PROTOBUF_FOUND)
ocv_module_disable(opencv_dnn)
endif()
@@ -72,7 +72,7 @@ ocv_source_group("Src\\protobuf" FILES ${Protobuf_SRCS} ${Protobuf_HDRS})
ocv_module_include_directories(include ${Protobuf_INCLUDE_DIRS})
ocv_glob_module_sources(${Protobuf_SRCS} ${Protobuf_HDRS} ${CBLAS_H_PROXY_PATH})
-ocv_create_module(${Protobuf_LIBRARIES} ${LAPACK_LIBRARIES})
+ocv_create_module(${PROTOBUF_LIBRARIES} ${LAPACK_LIBRARIES})
ocv_add_samples()
ocv_add_accuracy_tests()
ocv_add_perf_tests()

View File

@ -1,8 +1,8 @@
diff --git a/modules/xfeatures2d/CMakeLists.txt b/modules/xfeatures2d/CMakeLists.txt
index e1755595..c7009c47 100644
--- a/modules/xfeatures2d/CMakeLists.txt
+++ b/modules/xfeatures2d/CMakeLists.txt
@@ -5,10 +5,10 @@ ocv_define_module(xfeatures2d opencv_core opencv_imgproc opencv_features2d openc
Index: contrib/modules/xfeatures2d/CMakeLists.txt
===================================================================
--- contrib.orig/modules/xfeatures2d/CMakeLists.txt
+++ contrib/modules/xfeatures2d/CMakeLists.txt
@@ -5,11 +5,11 @@ ocv_define_module(xfeatures2d opencv_cor
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/download_vgg.cmake)
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/download_boostdesc.cmake)
set(DOWNLOAD_DIR "${OpenCV_BINARY_DIR}/downloads/xfeatures2d")
@ -18,3 +18,4 @@ index e1755595..c7009c47 100644
+#endif()
ocv_module_include_directories("${DOWNLOAD_DIR}")

View File

@ -1,61 +0,0 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
# Specify the opencv_extra source. The version should match the overall opencv version.
# Recording the opencv_extra version here allows us to raise a fatal error if the
# package version is updated but this section is not.
SRC_URI += "git://github.com/opencv/opencv_extra.git;branch=3.4;destsuffix=opencv_extra;name=opencv_extra"
SRCREV_opencv_extra = "cc18e9a17c5afe034341c8c70a5aaa9ac86e5601"
OPENCV_EXTRA_VERSION = "3.4.2"
SRC_URI_remove = "file://javagen.patch"
SRC_URI += "file://fix_openvx_samples.patch"
SRC_URI += "file://fix_python_bindings.patch"
SRC_URI += "file://0001-photo-avoid-resizing-a-const-Mat-in-decolor.patch \
file://0002-photo-Decolor-corrections.patch \
"
PACKAGECONFIG_remove_imx = "eigen"
PACKAGECONFIG_remove_mx8 = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland x11', 'gtk', '', d)}"
PACKAGECONFIG_append_mx8 = " opencl dnn text"
PACKAGECONFIG_append_mx8dv = " openvx"
PACKAGECONFIG_append_mx8qm = " openvx"
PACKAGECONFIG[openvx] = " \
-DWITH_OPENVX=ON -DOPENVX_ROOT=${STAGING_LIBDIR} -DOPENVX_LIB_CANDIDATES='OpenVX;OpenVXU', \
-DWITH_OPENVX=OFF, \
virtual/libopenvx, \
\
"
PACKAGECONFIG[qt5] = " \
-DWITH_QT=ON -DWITH_GTK=OFF \
-DOE_QMAKE_PATH_EXTERNAL_HOST_BINS=${STAGING_BINDIR_NATIVE}/qt5 \
-DCMAKE_PREFIX_PATH=${STAGING_BINDIR_NATIVE}/cmake, \
-DWITH_QT=OFF, \
qtbase qtbase-native, \
\
"
PACKAGECONFIG[test] = " \
-DBUILD_TESTS=ON -DINSTALL_TESTS=ON -DOPENCV_TEST_DATA_PATH=${S}/../opencv_extra/testdata, \
-DBUILD_TESTS=OFF -DINSTALL_TESTS=OFF, \
"
do_check_opencv_extra_version() {
OPENCV_VERSION=`echo ${PV} | cut -d '+' -f 1`
if [ "${OPENCV_EXTRA_VERSION}" != "${OPENCV_VERSION}" ]; then
bbfatal "The opencv_extra version ${OPENCV_EXTRA_VERSION} does not match the recipe version ${OPENCV_VERSION}."
fi
}
addtask check_opencv_extra_version before do_fetch
do_install_append() {
if ${@bb.utils.contains("PACKAGECONFIG", "samples", "true", "false", d)}; then
install -d ${D}${datadir}/OpenCV/samples/data
cp -r ${S}/samples/data/* ${D}${datadir}/OpenCV/samples/data
install -d ${D}${datadir}/OpenCV/samples/bin/
cp -f bin/example_* ${D}${datadir}/OpenCV/samples/bin/
fi
}
RDEPENDS_opencv-apps += \
"${@bb.utils.contains('PACKAGECONFIG', 'test', 'bash', '', d)}"

View File

@ -10,11 +10,12 @@ ARM_INSTRUCTION_SET_armv5 = "arm"
DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
SRCREV_opencv = "9e1b1e5389237c2b9f6c7b9d7715d9836c0a5de1"
SRCREV_contrib = "d4e02869454998c9af5af1a5c3392cdc0c31dd22"
SRCREV_ipp = "a62e20676a60ee0ad6581e217fe7e4bada3b95db"
SRCREV_opencv = "737f8fad1318607bf78eff76e3e4364db11663e0"
SRCREV_contrib = "25221244732dcf44c1450d0f93edc2529a61c0e1"
SRCREV_ipp = "32e315a5b106a7b89dbed51c28f8120a48b368b4"
SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
SRCREV_extra = "d29d003e00dacf4ed686577c3f2c0aa048d5a80a"
SRC_URI[tinydnn.md5sum] = "adb1c512e09ca2c7a6faef36f9c53e59"
SRC_URI[tinydnn.sha256sum] = "e2c61ce8c5debaa644121179e9dbdcf83f497f39de853f8dd5175846505aa18b"
@ -22,38 +23,38 @@ def ipp_filename(d):
import re
arch = d.getVar('TARGET_ARCH', True)
if re.match("i.86$", arch):
return "ippicv_2017u2_lnx_ia32_20170418.tgz"
return "ippicv_2019_lnx_ia32_general_20180723.tgz"
else:
return "ippicv_2017u2_lnx_intel64_20170418.tgz"
return "ippicv_2019_lnx_intel64_general_20180723.tgz"
def ipp_md5sum(d):
import re
arch = d.getVar('TARGET_ARCH', True)
if re.match("i.86$", arch):
return "f2cece00d802d4dea86df52ed095257e"
return "ea72de74dae3c604eb6348395366e78e"
else:
return "808b791a6eac9ed78d32a7666804320e"
return "b7cc351267db2d34b9efa1cd22ff0572"
IPP_FILENAME = "${@ipp_filename(d)}"
IPP_MD5 = "${@ipp_md5sum(d)}"
SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg"
SRC_URI = "git://github.com/opencv/opencv.git;branch=3.4;name=opencv \
git://github.com/opencv/opencv_contrib.git;branch=3.4;destsuffix=contrib;name=contrib \
git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20170418;destsuffix=ipp;name=ipp \
SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg_extra"
OPENCV_SRC ?= "git://source.codeaurora.org/external/imx/opencv-imx.git;protocol=https"
SRCBRANCH = "4.0.1_imx"
SRC_URI = "${OPENCV_SRC};branch=${SRCBRANCH};name=opencv \
git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \
git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20180723;destsuffix=ipp;name=ipp \
git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \
git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \
git://github.com/opencv/opencv_extra.git;destsuffix=extra;name=extra \
https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz;destsuffix=git/3rdparty/tinydnn/tiny-dnn-1.0.0a3;name=tinydnn;unpack=false \
file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
file://fixpkgconfig.patch \
file://uselocalxfeatures.patch;patchdir=../contrib/ \
file://0003-To-fix-errors-as-following.patch \
file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
file://0001-Dont-use-isystem.patch \
file://javagen.patch \
file://0001-dnn-allow-to-use-external-protobuf.patch \
"
PV = "3.4.2+git${SRCPV}"
PV = "4.0.1.imx+git${SRCPV}"
S = "${WORKDIR}/git"
@ -68,6 +69,7 @@ addtask unpack_extra after do_unpack before do_patch
EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
-DWITH_1394=OFF \
-DENABLE_PRECOMPILED_HEADERS=OFF \
-DCMAKE_SKIP_RPATH=ON \
-DOPENCV_ICV_HASH=${IPP_MD5} \
-DIPPROOT=${WORKDIR}/ippicv_lnx \
@ -77,10 +79,27 @@ EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
"
EXTRA_OECMAKE_append_x86 = " -DX86=ON"
PACKAGECONFIG ??= "python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
PACKAGECONFIG_GTK ?= " \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
"
PACKAGECONFIG_GTK_mx8 ?= " \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland x11', '', \
bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', \
'', d), d)} \
"
PACKAGECONFIG ??= "python3 jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \
${PACKAGECONFIG_GTK} \
${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}"
PACKAGECONFIG_append_mx8 = " dnn text"
PACKAGECONFIG_append_mx8dv = " openvx"
PACKAGECONFIG_append_mx8qm = " openvx"
PACKAGECONFIG_OPENCL = ""
PACKAGECONFIG_OPENCL_mx8 = "opencl"
PACKAGECONFIG_OPENCL_mx8mm = ""
PACKAGECONFIG_append = " ${PACKAGECONFIG_OPENCL}"
PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas,"
PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft,"
PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native,"
@ -95,12 +114,15 @@ PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd,"
PACKAGECONFIG[openvx] = "-DWITH_OPENVX=ON -DOPENVX_ROOT=${STAGING_LIBDIR} -DOPENVX_LIB_CANDIDATES='OpenVX;OpenVXU',-DWITH_OPENVX=OFF,virtual/libopenvx,"
PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native,"
PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy,"
PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy,"
PACKAGECONFIG[qt5] = "-DWITH_QT=ON -DWITH_GTK=OFF -DOE_QMAKE_PATH_EXTERNAL_HOST_BINS=${STAGING_BINDIR_NATIVE}/qt5 -DCMAKE_PREFIX_PATH=${STAGING_BINDIR_NATIVE}/cmake,-DWITH_QT=OFF,qtbase qtbase-native,"
PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
PACKAGECONFIG[test] = "-DBUILD_TESTS=ON -DINSTALL_TESTS=ON -DOPENCV_TEST_DATA_PATH=${S}/../extra/testdata, -DBUILD_TESTS=OFF -DINSTALL_TESTS=OFF,"
PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract,"
PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
@ -155,13 +177,13 @@ python populate_packages_prepend () {
PACKAGES_DYNAMIC += "^libopencv-.*"
FILES_${PN} = ""
FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*"
FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${datadir}/OpenCV/*.cmake"
FILES_${PN} = "${datadir}/licenses"
FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/* ${datadir}/opencv4/valgrind*.supp"
FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${datadir}/OpenCV/*.cmake ${libdir}/cmake"
FILES_${PN}-staticdev += "${datadir}/OpenCV/3rdparty/lib/*.a"
FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
FILES_${PN}-java = "${datadir}/OpenCV/java"
FILES_${PN}-samples = "${datadir}/OpenCV/samples/"
FILES_${PN}-samples = "${datadir}/OpenCV/samples ${datadir}/opencv4/samples ${datadir}/opencv4/*cascades ${datadir}/opencv4/testdata/"
INSANE_SKIP_${PN}-java = "libdir"
INSANE_SKIP_${PN}-dbg = "libdir"
@ -177,8 +199,8 @@ FILES_python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
RDEPENDS_python3-opencv = "python3-core python3-numpy"
do_install_append() {
cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/
sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h
# Fix OpenCV 2 compatibility, broken by OpenCV 4
ln -sf opencv4/opencv2 ${D}${includedir}/opencv2
# Move Python files into correct library folder (for multilib build)
if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then
@ -187,7 +209,12 @@ do_install_append() {
fi
if ${@bb.utils.contains("PACKAGECONFIG", "samples", "true", "false", d)}; then
install -d ${D}${datadir}/OpenCV/samples/data
cp -r ${S}/samples/data/* ${D}${datadir}/OpenCV/samples/data
install -d ${D}${datadir}/OpenCV/samples/bin/
cp -f bin/example_* ${D}${datadir}/OpenCV/samples/bin/
fi
}
RDEPENDS_opencv-apps += "bash"