diff options
Diffstat (limited to 'sci-libs/ViSP')
-rw-r--r-- | sci-libs/ViSP/Manifest | 1 | ||||
-rw-r--r-- | sci-libs/ViSP/ViSP-2.10.0.ebuild | 88 | ||||
-rw-r--r-- | sci-libs/ViSP/files/opencv.patch | 13 | ||||
-rw-r--r-- | sci-libs/ViSP/files/opencv3.patch | 67 | ||||
-rw-r--r-- | sci-libs/ViSP/metadata.xml | 25 |
5 files changed, 194 insertions, 0 deletions
diff --git a/sci-libs/ViSP/Manifest b/sci-libs/ViSP/Manifest new file mode 100644 index 000000000000..ee4b922b24ac --- /dev/null +++ b/sci-libs/ViSP/Manifest @@ -0,0 +1 @@ +DIST ViSP-2.10.0.tar.gz 20745399 SHA256 1c8a37cadd0012526be9ceaa182eb21fb0d45aac622a1f0f2d255225e85797aa SHA512 485bad6aea1dddf51c1edd162e22f5f00205947b67b57843207902ea3b97b683828031338282861be495d66cc79bde3a7af09c075aa9c6b783652d5d3bd4f9ef WHIRLPOOL d3d7e29076231fd581346f7de37ef49afed22f48198673d08268b1a298121d8a9bd8a9bc6e34cf2a5655cf45575599b09c5cb56e78961340122ca6f95ee275e3 diff --git a/sci-libs/ViSP/ViSP-2.10.0.ebuild b/sci-libs/ViSP/ViSP-2.10.0.ebuild new file mode 100644 index 000000000000..9bc5ac3e2a0c --- /dev/null +++ b/sci-libs/ViSP/ViSP-2.10.0.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit cmake-utils + +DESCRIPTION="Visual Servoing Platform: visual tracking and visual servoing library" +HOMEPAGE="http://www.irisa.fr/lagadic/visp/visp.html" +SRC_URI="http://gforge.inria.fr/frs/download.php/latestfile/475/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm" +IUSE=" + demos +dmtx doc examples ffmpeg gsl ieee1394 jpeg lapack ogre ois opencv png + test tutorials usb v4l X xml +zbar zlib +" + +RDEPEND=" + dmtx? ( media-libs/libdmtx ) + ffmpeg? ( virtual/ffmpeg ) + gsl? ( sci-libs/gsl ) + ieee1394? ( media-libs/libdc1394 ) + jpeg? ( virtual/jpeg:0 ) + lapack? ( virtual/lapack ) + ogre? ( dev-games/ogre[ois?] dev-libs/boost:=[threads] ) + opencv? ( media-libs/opencv ) + png? ( media-libs/libpng:0= ) + usb? ( virtual/libusb:1 ) + v4l? ( media-libs/libv4l ) + X? ( x11-libs/libX11 ) + xml? ( dev-libs/libxml2 ) + zbar? ( media-gfx/zbar ) + zlib? ( sys-libs/zlib ) +" +DEPEND="${RDEPEND} + doc? ( app-doc/doxygen virtual/latex-base media-gfx/graphviz ) + virtual/pkgconfig + test? ( sci-misc/ViSP-images ) + v4l? ( virtual/os-headers )" +RDEPEND="${RDEPEND} + demos? ( sci-misc/ViSP-images )" +REQUIRED_USE="ffmpeg? ( opencv ) ois? ( ogre )" +PATCHES=( "${FILESDIR}/opencv.patch" "${FILESDIR}/opencv3.patch" ) + +src_configure() { + local mycmakeargs=( + "-DBUILD_EXAMPLES=$(usex examples ON OFF)" + "-DBUILD_TESTS=$(usex test ON OFF)" + "-DBUILD_DEMOS=$(usex demos ON OFF)" + "-DBUILD_TUTORIALS=$(usex tutorials ON OFF)" + "-DUSE_V4L2=$(usex v4l ON OFF)" + "-DUSE_DC1394=$(usex ieee1394 ON OFF)" + "-DUSE_LAPACK=$(usex lapack ON OFF)" + "-DUSE_GSL=$(usex gsl ON OFF)" + "-DUSE_OGRE=$(usex ogre ON OFF)" + "-DUSE_OIS=$(usex ois ON OFF)" + "-DUSE_LIBUSB_1=$(usex usb ON OFF)" + "-DUSE_XML2=$(usex xml ON OFF)" + "-DUSE_OPENCV=$(usex opencv ON OFF)" + "-DUSE_ZLIB=$(usex zlib ON OFF)" + "-DUSE_X11=$(usex X ON OFF)" + "-DUSE_LIBJPEG=$(usex jpeg ON OFF)" + "-DUSE_LIBPNG=$(usex png ON OFF)" + "-DUSE_FFMPEG=$(usex ffmpeg ON OFF)" + "-DUSE_ZBAR=$(usex zbar ON OFF)" + "-DUSE_DMTX=$(usex dmtx ON OFF)" + ) + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile + cd "${BUILD_DIR}" + use doc && emake visp_doc +} + +src_install() { + cmake-utils_src_install + if use tutorials ; then + dodoc -r tutorial + docompress -x /usr/share/doc/${PF}/tutorial + fi + cd "${BUILD_DIR}" + use doc && dohtml -r doc/html/* +} diff --git a/sci-libs/ViSP/files/opencv.patch b/sci-libs/ViSP/files/opencv.patch new file mode 100644 index 000000000000..c8cafe0a5c97 --- /dev/null +++ b/sci-libs/ViSP/files/opencv.patch @@ -0,0 +1,13 @@ +Index: ViSP-2.10.0/CMakeLists.txt +=================================================================== +--- ViSP-2.10.0.orig/CMakeLists.txt ++++ ViSP-2.10.0/CMakeLists.txt +@@ -1450,7 +1450,7 @@ if(USE_OPENCV) + list(APPEND VISP_EXTERN_LIBRARIES ${OpenCV_LIBS})
+ endif()
+ list(APPEND VISP_EXTERN_INCLUDE_DIRS ${OpenCV_INCLUDE_DIRS})
+- #LIST(APPEND VISP_EXTERN_LIBRARIES ${OpenCV_LIBS})
++ LIST(APPEND VISP_EXTERN_LIBRARIES ${OpenCV_LIBRARIES})
+ #MESSAGE("OpenCV_INCLUDE_DIRS = ${OpenCV_INCLUDE_DIRS}")
+ #MESSAGE("OpenCV_LIBS = ${OpenCV_LIBS}")
+ #MESSAGE("OpenCV_LIB_DIR = ${OpenCV_LIB_DIR}")
diff --git a/sci-libs/ViSP/files/opencv3.patch b/sci-libs/ViSP/files/opencv3.patch new file mode 100644 index 000000000000..8f7f9ee269cd --- /dev/null +++ b/sci-libs/ViSP/files/opencv3.patch @@ -0,0 +1,67 @@ +Index: ViSP-2.10.0/src/key-point/vpKeyPoint.h +=================================================================== +--- ViSP-2.10.0.orig/src/key-point/vpKeyPoint.h ++++ ViSP-2.10.0/src/key-point/vpKeyPoint.h +@@ -494,6 +494,7 @@ public: + initDetector(detectorName); + } + ++#if (VISP_HAVE_OPENCV_VERSION >= 0x020400 && VISP_HAVE_OPENCV_VERSION < 0x030000) + /*! + Template function to set to a \p parameterName a value for a specific detector named by his \p detectorName. + +@@ -507,6 +508,7 @@ public: + m_detectors[detectorName]->set(parameterName, value); + } + } ++#endif + + /*! + Set and initialize a list of detectors denominated by their names \p detectorNames. +@@ -532,6 +534,7 @@ public: + initExtractor(extractorName); + } + ++#if (VISP_HAVE_OPENCV_VERSION >= 0x020400 && VISP_HAVE_OPENCV_VERSION < 0x030000) + /*! + Template function to set to a \p parameterName a value for a specific extractor named by his \p extractorName. + +@@ -545,6 +548,7 @@ public: + m_extractors[extractorName]->set(parameterName, value); + } + } ++#endif + + /*! + Set and initialize a list of extractors denominated by their names \p extractorNames. +@@ -700,7 +704,7 @@ public: + m_useAffineDetection = useAffine; + } + +-#if (VISP_HAVE_OPENCV_VERSION >= 0x020400) ++#if (VISP_HAVE_OPENCV_VERSION >= 0x020400 && VISP_HAVE_OPENCV_VERSION < 0x030000) + /*! + Set if cross check method must be used to eliminate some false matches with a brute-force matching method. + +Index: ViSP-2.10.0/src/key-point/vpKeyPoint.cpp +=================================================================== +--- ViSP-2.10.0.orig/src/key-point/vpKeyPoint.cpp ++++ ViSP-2.10.0/src/key-point/vpKeyPoint.cpp +@@ -868,7 +868,7 @@ void vpKeyPoint::detect(const vpImage<un + (int) rectangle.getBottom()); + cv::rectangle(mask, leftTop, rightBottom, cv::Scalar(255), CV_FILLED); + } else { +- mask = cv::Mat::ones(matImg.rows, matImg.cols, CV_8U); ++ mask = cv::Mat::ones(matImg.rows, matImg.cols, CV_8U) * 255; + } + + detect(matImg, keyPoints, elapsedTime, mask); +@@ -1544,7 +1544,7 @@ void vpKeyPoint::initExtractors(const st + void vpKeyPoint::initMatcher(const std::string &matcherName) { + m_matcher = cv::DescriptorMatcher::create(matcherName); + +-#if (VISP_HAVE_OPENCV_VERSION >= 0x020400) ++#if (VISP_HAVE_OPENCV_VERSION >= 0x020400 && VISP_HAVE_OPENCV_VERSION < 0x030000) + if(m_matcher != NULL && !m_useKnn && matcherName == "BruteForce") { + m_matcher->set("crossCheck", m_useBruteForceCrossCheck); + } diff --git a/sci-libs/ViSP/metadata.xml b/sci-libs/ViSP/metadata.xml new file mode 100644 index 000000000000..6e275638c4ce --- /dev/null +++ b/sci-libs/ViSP/metadata.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer> +<email>aballier@gentoo.org</email> +<name>Alexis Ballier</name> +</maintainer> +<use> + <flag name="dmtx">Enables barcode data matrix support.</flag> + <flag name="demos">Installs demo programs.</flag> + <flag name="ogre">Enables <pkg>dev-games/ogre</pkg> support.</flag> + <flag name="ois">Enables <pkg>dev-games/ois</pkg> support via ogre.</flag> + <flag name="opencv">Enables <pkg>media-libs/opencv</pkg> support.</flag> + <flag name="tutorials">Installs tutorials.</flag> + <flag name="zbar">Enables barcodes reading.</flag> +</use> +<longdescription lang="en"> + ViSP standing for Visual Servoing Platform is a modular cross platform library that allows prototyping and developing applications using visual tracking and visual servoing technics at the heart of the researches done by Inria Lagadic team. + ViSP is able to compute control laws that can be applied to robotic systems. + It provides a set of visual features that can be tracked using real time image processing or computer vision algorithms. + ViSP provides also simulation capabilities. + + ViSP can be useful in robotics, computer vision, augmented reality and computer animation. +</longdescription> +</pkgmetadata> |