diff options
-rw-r--r-- | graphics/digikam/README | 1 | ||||
-rw-r--r-- | graphics/digikam/digikam.SlackBuild | 7 | ||||
-rw-r--r-- | graphics/digikam/digikam.info | 8 | ||||
-rw-r--r-- | graphics/digikam/libkface.patch | 258 | ||||
-rw-r--r-- | graphics/digikam/opencv.patch | 121 |
5 files changed, 6 insertions, 389 deletions
diff --git a/graphics/digikam/README b/graphics/digikam/README index f1a2f6fe6d4d2..9b872c8964bb0 100644 --- a/graphics/digikam/README +++ b/graphics/digikam/README @@ -10,5 +10,4 @@ eigen3, enblend-enfuse, hugin, sqlite2, libdc1394 and QtGStreamer are optional d NOTE: - digikam now ships with its own internal version of kipi-plugins. - please remove previous version before building the current version. - Otherwise, libkface will link to the previous version - Make sure qt5 is not installed before building opencv or else digiKam will segfault. diff --git a/graphics/digikam/digikam.SlackBuild b/graphics/digikam/digikam.SlackBuild index 252ca04cec2e3..fc091e397757d 100644 --- a/graphics/digikam/digikam.SlackBuild +++ b/graphics/digikam/digikam.SlackBuild @@ -24,7 +24,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=digikam -VERSION=${VERSION:-4.13.0} +VERSION=${VERSION:-4.14.0} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -66,10 +66,6 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -patch -p1 < $CWD/opencv.patch -cd extra/libkface -patch -p1 < $CWD/libkface.patch -cd ../.. mkdir -p build cd build cmake \ @@ -86,6 +82,7 @@ cd build -DDIGIKAMSC_COMPILE_LIBKFACE=ON \ -DDIGIKAMSC_COMPILE_DOC=OFF \ -DCMAKE_CXX_FLAGS:STRING="$(/usr/bin/Magick++-config --libs)" \ + -DENABLE_OPENCV3=ON \ -DCMAKE_BUILD_TYPE=Release .. make make install DESTDIR=$PKG diff --git a/graphics/digikam/digikam.info b/graphics/digikam/digikam.info index 9dbf9ff396d80..87aedbe887d24 100644 --- a/graphics/digikam/digikam.info +++ b/graphics/digikam/digikam.info @@ -1,10 +1,10 @@ PRGNAM="digikam" -VERSION="4.13.0" +VERSION="4.14.0" HOMEPAGE="http://www.digikam.org/" -DOWNLOAD="http://download.kde.org/stable/digikam/digikam-4.13.0.tar.bz2" -MD5SUM="930b9a89244afd1f28490d0acabbecc5" +DOWNLOAD="http://download.kde.org/stable/digikam/digikam-4.14.0.tar.bz2" +MD5SUM="8fd3cb0a822e8c2d4102e8adc00c082f" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="liblqr lensfun ffmpeg opencv libpgf" +REQUIRES="liblqr lensfun ffmpeg libpgf libkvkontakte libkface" MAINTAINER="Willy Sudiarto Raharjo" EMAIL="willysr@slackbuilds.org" diff --git a/graphics/digikam/libkface.patch b/graphics/digikam/libkface.patch deleted file mode 100644 index e943bc5d2e87e..0000000000000 --- a/graphics/digikam/libkface.patch +++ /dev/null @@ -1,258 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4e83c8b..e399a25 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -30,7 +30,7 @@ add_definitions(-DKDE_DEFAULT_DEBUG_AREA=${LIBKFACE_AREA_CODE_GENERAL}) - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) - - include(MacroOpenCV) --DETECT_OPENCV(2.4.9 core highgui objdetect contrib legacy imgproc) -+DETECT_OPENCV(2.4.9 core highgui objdetect face legacy imgproc) - - include_directories(${OpenCV_INCLUDE_DIRS}) - -diff --git a/cmake/modules/modules_opencv/FindOpenCV.cmake b/cmake/modules/modules_opencv/FindOpenCV.cmake -index 7580b32..6d3da76 100644 ---- a/cmake/modules/modules_opencv/FindOpenCV.cmake -+++ b/cmake/modules/modules_opencv/FindOpenCV.cmake -@@ -173,7 +173,6 @@ find_library(OpenCV_ML_LIBRARY - find_library(OpenCV_TRS_LIBRARY - NAMES trs - PATHS ${OpenCV_ROOT_DIR} PATH_SUFFIXES ${OpenCV_LIBDIR_SUFFIXES} ) -- - # - # Logic selecting required libs and headers - # -diff --git a/libkface/detection/opencvfacedetector.cpp b/libkface/detection/opencvfacedetector.cpp -index 7c420ae..28edeea 100644 ---- a/libkface/detection/opencvfacedetector.cpp -+++ b/libkface/detection/opencvfacedetector.cpp -@@ -138,11 +138,12 @@ public: - { - // This is a HACK which may break any time. Work around the fact that getOriginalWindowSize() - // always returns (0,0) and we need these values. -+/* - if (oldCascade) - { - return oldCascade->orig_window_size; - } -- -+*/ - return cv::Size(0, 0); - } - -diff --git a/libkface/libopencv.h.cmake.in b/libkface/libopencv.h.cmake.in -index 0a1a958..e70fc0c 100644 ---- a/libkface/libopencv.h.cmake.in -+++ b/libkface/libopencv.h.cmake.in -@@ -51,13 +51,11 @@ - #define OPENCV_VERSION OPENCV_MAKE_VERSION(CV_MAJOR_VERSION,CV_MINOR_VERSION,CV_SUBMINOR_VERSION) - #define OPENCV_TEST_VERSION(major,minor,patch) ( OPENCV_VERSION >= OPENCV_MAKE_VERSION(major,minor,patch) ) - --#include <opencv2/core/core.hpp> --#include <opencv2/core/internal.hpp> --#include <opencv2/contrib/contrib.hpp> -+#include <opencv2/face/facerec.hpp> -+#include <opencv2/core.hpp> - - // for old-style code - #include <opencv2/opencv.hpp> --#include <opencv2/legacy/compat.hpp> - #include <opencv2/highgui/highgui_c.h> - #include <opencv/cvaux.h> - -diff --git a/libkface/recognition-opencv-lbph/facerec_borrowed.cpp b/libkface/recognition-opencv-lbph/facerec_borrowed.cpp -index 935a3d0..11aee02 100644 ---- a/libkface/recognition-opencv-lbph/facerec_borrowed.cpp -+++ b/libkface/recognition-opencv-lbph/facerec_borrowed.cpp -@@ -531,14 +531,5 @@ Ptr<LBPHFaceRecognizer> LBPHFaceRecognizer::create(int radius, int neighbors, in - return ptr; - } - --CV_INIT_ALGORITHM(LBPHFaceRecognizer, "FaceRecognizer.LBPH-KFaceIface", -- obj.info()->addParam(obj, "radius", obj.m_radius); -- obj.info()->addParam(obj, "neighbors", obj.m_neighbors); -- obj.info()->addParam(obj, "grid_x", obj.m_grid_x); -- obj.info()->addParam(obj, "grid_y", obj.m_grid_y); -- obj.info()->addParam(obj, "threshold", obj.m_threshold); -- obj.info()->addParam(obj, "histograms", obj.m_histograms); // modification: Make Read/Write -- obj.info()->addParam(obj, "labels", obj.m_labels); // modification: Make Read/Write -- obj.info()->addParam(obj, "statistic", obj.m_statisticsMode)); // modification: Add parameter - - } // namespace KFaceIface -diff --git a/libkface/recognition-opencv-lbph/facerec_borrowed.h b/libkface/recognition-opencv-lbph/facerec_borrowed.h -index dd1ab16..22b14ac 100644 ---- a/libkface/recognition-opencv-lbph/facerec_borrowed.h -+++ b/libkface/recognition-opencv-lbph/facerec_borrowed.h -@@ -45,7 +45,7 @@ - namespace KFaceIface - { - --class LBPHFaceRecognizer : public cv::FaceRecognizer -+class LBPHFaceRecognizer : public cv::face::FaceRecognizer - { - public: - -@@ -99,8 +99,8 @@ public: - - ~LBPHFaceRecognizer() {} - -- using cv::FaceRecognizer::save; -- using cv::FaceRecognizer::load; -+ using cv::face::FaceRecognizer::save; -+ using cv::face::FaceRecognizer::load; - - static cv::Ptr<LBPHFaceRecognizer> create(int radius=1, int neighbors=8, int grid_x=8, int grid_y=8, double threshold = DBL_MAX, PredictionStatistics statistics = NearestNeighbor); - -@@ -139,13 +139,31 @@ public: - /** - * Getter functions. - */ -- int neighbors() const { return m_neighbors; } -- int radius() const { return m_radius; } -- int grid_x() const { return m_grid_x; } -- int grid_y() const { return m_grid_y; } -+ int getNeighbors() const { return m_neighbors; } -+ void setNeighbors(int _neighbors) { m_neighbors = _neighbors; } -+ -+ int getRadius() const { return m_radius; } -+ void setRadius(int radius) { m_radius = radius; } -+ -+ int getGrid_x() const { return m_grid_x; } -+ void setGrid_x(int _grid_x) { m_grid_x = _grid_x; } -+ -+ int getGrid_y() const { return m_grid_y; } -+ void setGrid_y(int _grid_y) { m_grid_y = _grid_y; } -+ -+ -+ double getThreshold() const { return m_threshold; } -+ void setThreshold(double _threshold) { m_threshold = _threshold; } -+ -+ void setHistograms(std::vector<cv::Mat> _histograms) { m_histograms = _histograms; } -+ std::vector<cv::Mat> getHistograms() const { return m_histograms; } -+ -+ void setLabels(cv::Mat _labels) { m_labels = _labels; } -+ cv::Mat getLabels() const { return m_labels; } -+ -+ void setStatistic(int _statistic) { m_statisticsMode = _statistic; } -+ int getStatistic() const { return m_statisticsMode; } - -- // NOTE: Implementation done through CV_INIT_ALGORITHM macro from OpenCV. -- cv::AlgorithmInfo* info() const; - - private: - -diff --git a/libkface/recognition-opencv-lbph/lbphfacemodel.cpp b/libkface/recognition-opencv-lbph/lbphfacemodel.cpp -index af8c6a5..75c5863 100644 ---- a/libkface/recognition-opencv-lbph/lbphfacemodel.cpp -+++ b/libkface/recognition-opencv-lbph/lbphfacemodel.cpp -@@ -61,7 +61,7 @@ LBPHFaceModel::LBPHFaceModel() - : cv::Ptr<LBPHFaceRecognizer>(LBPHFaceRecognizer::create()), - databaseId(0) - { -- ptr()->set("threshold", 100.0); -+ ptr()->setThreshold(100.0); - } - - LBPHFaceModel::~LBPHFaceModel() -@@ -70,7 +70,7 @@ LBPHFaceModel::~LBPHFaceModel() - - LBPHFaceRecognizer* LBPHFaceModel::ptr() - { -- LBPHFaceRecognizer* const ptr = cv::Ptr<LBPHFaceRecognizer>::operator KFaceIface::LBPHFaceRecognizer*(); -+ LBPHFaceRecognizer* const ptr = get(); - - if (!ptr) - kWarning() << "LBPHFaceRecognizer pointer is null"; -@@ -80,7 +80,7 @@ LBPHFaceRecognizer* LBPHFaceModel::ptr() - - const LBPHFaceRecognizer* LBPHFaceModel::ptr() const - { -- const LBPHFaceRecognizer* const ptr = cv::Ptr<LBPHFaceRecognizer>::operator const KFaceIface::LBPHFaceRecognizer*(); -+ const LBPHFaceRecognizer* const ptr = get(); - - if (!ptr) - kWarning() << "LBPHFaceRecognizer pointer is null"; -@@ -90,47 +90,47 @@ const LBPHFaceRecognizer* LBPHFaceModel::ptr() const - - int LBPHFaceModel::radius() const - { -- return ptr()->get<int>("radius"); -+ return ptr()->getRadius(); - } - - void LBPHFaceModel::setRadius(int radius) - { -- ptr()->set("radius", radius); -+ ptr()->setRadius(radius); - } - - int LBPHFaceModel::neighbors() const - { -- return ptr()->get<int>("neighbors"); -+ return ptr()->getNeighbors(); - } - - void LBPHFaceModel::setNeighbors(int neighbors) - { -- ptr()->set("neighbors", neighbors); -+ ptr()->setNeighbors(neighbors); - } - - int LBPHFaceModel::gridX() const - { -- return ptr()->get<int>("grid_x"); -+ return ptr()->getGrid_x(); - } - - void LBPHFaceModel::setGridX(int grid_x) - { -- ptr()->set("grid_x", grid_x); -+ ptr()->setGrid_x(grid_x); - } - - int LBPHFaceModel::gridY() const - { -- return ptr()->get<int>("grid_y"); -+ return ptr()->getGrid_y(); - } - - void LBPHFaceModel::setGridY(int grid_y) - { -- ptr()->set("grid_y", grid_y); -+ ptr()->setGrid_y(grid_y); - } - - OpenCVMatData LBPHFaceModel::histogramData(int index) const - { -- return OpenCVMatData(ptr()->get<std::vector<cv::Mat> >("histograms").at(index)); -+ return OpenCVMatData(ptr()->getHistograms().at(index)); - } - - QList<LBPHistogramMetadata> LBPHFaceModel::histogramMetadata() const -@@ -168,12 +168,12 @@ void LBPHFaceModel::setHistograms(const QList<OpenCVMatData>& histograms, const - m_histogramMetadata << metadata; - } - -- std::vector<cv::Mat> currentHistograms = ptr()->get<std::vector<cv::Mat> >("histograms"); -- cv::Mat currentLabels = ptr()->get<cv::Mat>("labels"); -+ std::vector<cv::Mat> currentHistograms = ptr()->getHistograms(); -+ cv::Mat currentLabels = ptr()->getLabels(); - currentHistograms.insert(currentHistograms.end(), newHistograms.begin(), newHistograms.end()); - currentLabels.push_back(newLabels); -- ptr()->set("histograms", currentHistograms); -- ptr()->set("labels", currentLabels); -+ ptr()->setHistograms(currentHistograms); -+ ptr()->setLabels(currentLabels); - - /* - //Most cumbersome and inefficient way through a file storage which we were forced to use if we used standard OpenCV -@@ -215,7 +215,7 @@ void LBPHFaceModel::update(const std::vector<cv::Mat>& images, const std::vector - - // Update local information - // We assume new labels are simply appended -- cv::Mat currentLabels = ptr()->get<cv::Mat>("labels"); -+ cv::Mat currentLabels = ptr()->getLabels(); - - for (int i = m_histogramMetadata.size() ; i < currentLabels.rows ; i++) - { diff --git a/graphics/digikam/opencv.patch b/graphics/digikam/opencv.patch deleted file mode 100644 index 029f5cdc4de29..0000000000000 --- a/graphics/digikam/opencv.patch +++ /dev/null @@ -1,121 +0,0 @@ -diff -up digikam-4.12.0/core/app/utils/libopencv.h.opencv3 digikam-4.12.0/core/app/utils/libopencv.h ---- digikam-4.12.0/core/app/utils/libopencv.h.opencv3 2015-08-18 15:32:24.635326685 +0200 -+++ digikam-4.12.0/core/app/utils/libopencv.h 2015-08-18 16:51:00.716761209 +0200 -@@ -46,17 +46,19 @@ - - #define OPENCV_MAKE_VERSION(major,minor,patch) (((major) << 16) | ((minor) << 8) | (patch)) - #define OPENCV_VERSION OPENCV_MAKE_VERSION(CV_MAJOR_VERSION,CV_MINOR_VERSION,CV_SUBMINOR_VERSION) --#define OPENCV_TEST_VERSION(major,minor,patch) ( OPENCV_VERSION >= OPENCV_MAKE_VERSION(major,minor,patch) ) -+#define OPENCV_TEST_VERSION(major,minor,patch) ( OPENCV_VERSION < OPENCV_MAKE_VERSION(major,minor,patch) ) - --#if OPENCV_TEST_VERSION(2,3,0) -+#if OPENCV_TEST_VERSION(2,5,0) - # include <opencv2/opencv.hpp> - # include <opencv2/legacy/compat.hpp> - # include <opencv/cvaux.h> -+# include <opencv2/imgproc/imgproc.hpp> - #else - # include <opencv/cv.h> - # include <opencv/cvaux.h> - # include <opencv/cxcore.h> - # include <opencv/highgui.h> -+# include <opencv2/imgproc.hpp> - #endif - - // Restore warnings -diff -up digikam-4.12.0/core/libs/database/imgqsort/imgqsort.cpp.opencv3 digikam-4.12.0/core/libs/database/imgqsort/imgqsort.cpp ---- digikam-4.12.0/core/libs/database/imgqsort/imgqsort.cpp.opencv3 2015-08-18 17:17:24.003431310 +0200 -+++ digikam-4.12.0/core/libs/database/imgqsort/imgqsort.cpp 2015-08-18 17:25:14.761703338 +0200 -@@ -284,8 +284,8 @@ void ImgQSort::readImage() const - mixer.startFilterDirectly(); - - d->image.putImageData(mixer.getTargetImage().bits()); -- d->src = cvCreateMat(d->image.numPixels(), 3, CV_8UC3); // Create a matrix containing the pixel values of original image -- d->src_gray = cvCreateMat(d->image.numPixels(), 1, CV_8UC1); // Create a matrix containing the pixel values of grayscaled image -+ d->src = Mat(d->image.numPixels(), 3, CV_8UC3); // Create a matrix containing the pixel values of original image -+ d->src_gray = Mat(d->image.numPixels(), 1, CV_8UC1); // Create a matrix containing the pixel values of grayscaled image - - if (d->imq.detectNoise) - { -@@ -660,7 +660,7 @@ int ImgQSort::compressiondetector() cons - int countblocks = 0; - int number_of_blocks = 0; - int sum = 0; -- vector<int> average_bottom, average_middle, average_top; -+ std::vector<int> average_bottom, average_middle, average_top; - - // Go through 8 blocks at a time horizontally - // iterating through columns. -@@ -797,7 +797,7 @@ int ImgQSort::compressiondetector() cons - int ImgQSort::exposureamount() const - { - /// Separate the image in 3 places ( B, G and R ) -- vector<Mat> bgr_planes; -+ std::vector<Mat> bgr_planes; - split(d->src, bgr_planes); - - /// Establish the number of bins -diff -up digikam-4.12.0/core/libs/database/imgqsort/imgqsort.h.opencv3 digikam-4.12.0/core/libs/database/imgqsort/imgqsort.h ---- digikam-4.12.0/core/libs/database/imgqsort/imgqsort.h.opencv3 2015-08-18 17:17:54.923383497 +0200 -+++ digikam-4.12.0/core/libs/database/imgqsort/imgqsort.h 2015-08-18 17:27:54.225449446 +0200 -@@ -25,6 +25,10 @@ - #ifndef IMGQSORT_H - #define IMGQSORT_H - -+// Global includes -+ -+#include <vector> -+ - // Local includes - - #include "dimg.h" -diff -up digikam-4.12.0/extra/kipi-plugins/removeredeyes/detection/locators/haarclassifier/haarclassifierlocator.cpp.opencv3 digikam-4.12.0/extra/kipi-plugins/removeredeyes/detection/locators/haarclassifier/haarclassifierlocator.cpp ---- digikam-4.12.0/extra/kipi-plugins/removeredeyes/detection/locators/haarclassifier/haarclassifierlocator.cpp.opencv3 2015-08-18 16:06:08.240514617 +0200 -+++ digikam-4.12.0/extra/kipi-plugins/removeredeyes/detection/locators/haarclassifier/haarclassifierlocator.cpp 2015-08-18 16:19:07.774476511 +0200 -@@ -89,6 +89,13 @@ const QString HaarClassifierLocator::Pri - const QString HaarClassifierLocator::Private::configClassifierEntry("Classifier"); - - // -------------------------------------------------------- -+#if !(OPENCV_TEST_VERSION(2,5,0)) -+static void cvFillImage( CvArr* mat, double color) -+{ -+ cvSet( mat, cvColorToScalar(color, cvGetElemType(mat)), 0); -+} -+#endif -+ - - int HaarClassifierLocator::findPossibleEyes(double csf, int ngf, const char* classifierFile) - { -diff -up digikam-4.12.0/extra/kipi-plugins/removeredeyes/plugin/libopencv.h.opencv3 digikam-4.12.0/extra/kipi-plugins/removeredeyes/plugin/libopencv.h ---- digikam-4.12.0/extra/kipi-plugins/removeredeyes/plugin/libopencv.h.opencv3 2015-08-18 13:43:10.380772123 +0200 -+++ digikam-4.12.0/extra/kipi-plugins/removeredeyes/plugin/libopencv.h 2015-08-18 14:18:27.999977347 +0200 -@@ -53,12 +53,13 @@ - - #define OPENCV_MAKE_VERSION(major,minor,patch) (((major) << 16) | ((minor) << 8) | (patch)) - #define OPENCV_VERSION OPENCV_MAKE_VERSION(CV_MAJOR_VERSION,CV_MINOR_VERSION,CV_SUBMINOR_VERSION) --#define OPENCV_TEST_VERSION(major,minor,patch) ( OPENCV_VERSION >= OPENCV_MAKE_VERSION(major,minor,patch) ) -+#define OPENCV_TEST_VERSION(major,minor,patch) ( OPENCV_VERSION < OPENCV_MAKE_VERSION(major,minor,patch) ) - --#if OPENCV_TEST_VERSION(2,3,0) -+#include <opencv2/core/core_c.h> -+ -+#if OPENCV_TEST_VERSION(2,5,0) - #include <opencv2/opencv.hpp> - #include <opencv2/highgui/highgui_c.h> --#include <opencv2/core/core_c.h> - #include <opencv2/legacy/compat.hpp> - #include <opencv/cvaux.h> - #else -diff -up digikam-4.12.0/extra/kipi-plugins/removeredeyes/test/CMakeLists.txt.opencv3 digikam-4.12.0/extra/kipi-plugins/removeredeyes/test/CMakeLists.txt ---- digikam-4.12.0/extra/kipi-plugins/removeredeyes/test/CMakeLists.txt.opencv3 2015-08-18 15:08:31.973733608 +0200 -+++ digikam-4.12.0/extra/kipi-plugins/removeredeyes/test/CMakeLists.txt 2015-08-18 15:22:40.113991709 +0200 -@@ -4,7 +4,7 @@ - # Redistribution and use is allowed according to the terms of the BSD license. - # For details see the accompanying COPYING-CMAKE-SCRIPTS file. - --if(NOT WIN32) -+if(NOT WIN32 AND (${OpenCV_VERSION} VERSION_LESS 3.0.0)) - - include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../plugin - ${CMAKE_CURRENT_SOURCE_DIR}/../libcvblobs - |