CMake добавить BLAS в проект - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь скомпилировать проект с помощью dlib & opencv.Я супер новичок в CMake.Для этого нужна библиотека BLAS.У меня установлен ATLAS, я попробовал пару вещей, но не нашел ничего, что смогу заставить работать.Есть ли способ найти установленный пакет BLAS и добавить его в Linux (Ubuntu 18.04)?Любая помощь будет высоко ценится.

Ошибки

enter image description here

main.cpp

#include <iostream> 
#include <dlib/pixel.h>
#include <dlib/opencv.h>
#include <opencv2/opencv.hpp>
#include <dlib/image_processing.h>
#include <dlib/image_processing/frontal_face_detector.h>

using namespace cv;
using namespace std;

int main(int argc, char** argv) 
{
    cv::Mat frame, half;
    cv::VideoCapture cap;
    dlib::array2d<dlib::bgr_pixel> dlibFrame;

    try
    {
        cap.open(2);
    }
    catch(std::exception& e)
    {
        std::cout << e.what() << std::endl;
        return 1;
    }

    dlib::frontal_face_detector detector;

    try
    {
        std::vector<dlib::rectangle> faces;
        cv::namedWindow("Tracking Window");

        while(cap.isOpened())
        {
             cap >> frame;
             cv::resize(frame,half,cv::Size(),0.5,0.5); 
             dlib::assign_image(dlibFrame,dlib::cv_image<dlib::bgr_pixel>(half));

             faces = detector(dlibFrame);

             for(size_t i = 0;i < faces.size();++i)
             {
                 auto& r = faces[i];
                 cv::Rect cvr = cv::Rect(r.left(),r.top(),r.width(),r.height());

                 cv::rectangle(half,cvr,cv::Scalar(255,0,0),2);
             }

             cv::imshow("Tracking Window",half); 

             if(cv::waitKey(1) == 27)
                break;
        }
    }
    catch(std::exception& e)
    {
        cout << e.what() << endl;
        return 1;
    }

    cv::destroyAllWindows();

    return 0;
}

CMake

cmake_minimum_required(VERSION 3.0.0)
project(ObjectTracking VERSION 0.1.0)

include(CTest)
enable_testing()

add_executable(ObjectTracking main.cpp)

find_package(BLAS REQUIRED)
find_package(OpenCV REQUIRED)
find_package(dlib REQUIRED)

target_link_libraries(ObjectTracking ${OpenCV_LIBS} dlib ${BLAS_LIBRARIES})

set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)

1 Ответ

0 голосов
/ 25 октября 2018

Для Ubuntu 18.04 доступны следующие пакеты:

  • libblas-dev
  • libbas3
  • libcblas2
  • libcublas9.1 (еслиу вас есть Nvidia GPU и CUDA?)

Я использую OpenBLAS, поэтому я не уверен, какой из них использовать.

Альтернативой является OpenBLAS.Репо находится по адресу: https://github.com/xianyi/OpenBLAS.git

Для его сборки:

  1. git clone https://github.com/xianyi/OpenBLAS.git
  2. cd OpenBLAS
  3. sudo make install

OpenBLAS обнаруживает ваш процессор и создает соответствующий двоичный файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...