1

我有这个基本的 OpenCV 代码:

#include "opencv2/opencv.hpp"

int main(){
    cv::Mat img = cv::imread("/home/luca/Documents/IMG_20161031_162242.jpg", cv::IMREAD_GRAYSCALE);
    if(!img.data)
        std::cerr<<"Error reading image"<<std::endl;
    return 0;
}

我想分析它以使其cv::imread并行(并尝试对许多其他功能做同样的事情。

阅读这篇文章,我应该做些什么来分析共享库(在我的例子中是 opencv)我应该:

1) 在调试 (-g) 模式下编译您的共享库 (libmylib.so)。没有-pg。2) export LD_PROFILE_OUTPUT= pwd3) export LD_PROFILE=libmylib.so 4) rm -f $LD_PROFILE.profile 4) 执行加载 libmylib.so 的程序 5) sprof PATH-TO-LIB/$LD_PROFILE $LD_PROFILE.profile -p >日志 6) 查看日志。

我有一些问题:

  1. 我现在如何调用哪个共享库cv::imread
  2. 我不知道是否cmake -DCMAKE_BUILD_TYPE=DEBUG ...包含-g(实际上我不这么认为)。在这里阅读我可以通过编辑来做到这一点CMakeLists.txt

set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")

但是不知道在哪里设置CMakeLists.txt

4

0 回答 0