【问题标题】:How to use opencv cuda module log function如何使用opencv cuda模块日志功能
【发布时间】:2016-06-28 07:48:57
【问题描述】:

我正在尝试使用 Opencv CUDA 模块,特别是指 cv::cuda::log 函数。

首先,我将详细介绍 Opencv 编译。 我编译了带有 WITH_CUDA 标志的 Opencv,从编译中获取了 libs 和 dll,但是我从下载的 opencv 文件夹中复制了头文件,因为默认情况下编译文件夹不包含头文件。

我想知道,这是否是正确的做法?

其次,我尝试使用 cv::cuda:: 函数。

我包含 cuda.hpp 标头

#include "opencv2/core/cuda.hpp"

cv::cuda::GpuMat source, dest; 

GpuMat 对我来说编译得很好,但是我不知道应该包含哪个文件才能使用日志功能。当我写下面一行时

cv::cuda::log(source, dest); 

我不断收到错误消息:

error: C2039: log in not a member of cv::cuda

Windows 7、Visual Studio 2013、Opencv 3.0.0、平台:64 位、CUDA 工具包 6.5

第三,我想了解 Opencv CUDA 的实现,它是否利用了 npp 功能? Opencv vs npp,哪个更好用?

我可以使用 npp 轻松编写代码,但是我想知道 opencv CUDA 模块。

谢谢

【问题讨论】:

  • 谢谢,我的合辑中没有那个文件,你从哪里得到的?
  • 我去github网站上的文档查了一下
  • 谢谢,但是,您如何确定该文件将出现在您的完整 opencv 编译输出中?我想我的编译中缺少标题到我完成的标记版本

标签: opencv opencv3.0


【解决方案1】:

经过几天的搜索,我想分享我的知识

我做错的第一件事是从 Opencv 编译中获取标头,正确的做法是从所有 Opencv 模块(每个模块单独)中获取标头。

其次,在使用 CUDA 标志进行 Opencv 编译后,一切正常。

第三,几个opencv CUDA函数确实利用了NPP

第四,使用github

【讨论】:

    【解决方案2】:

    此代码应该适用于 OpenCV 3.1:

    #include <opencv2/opencv.hpp>
    #include <opencv2/cudaarithm.hpp>
    
    int main()
    {
        cv::Mat img = cv::imread("img.jpg", cv::IMREAD_GRAYSCALE);
        cv::Mat img_32f;
        img.convertTo(img_32f, CV_32F);
        //To avoid log(0) that is undefined
        img_32f += 1.0f;
    
        cv::cuda::GpuMat gpuImg, gpuImgLog;
        gpuImg.upload(img_32f);
        cv::cuda::log(gpuImg, gpuImgLog);
    
        cv::Mat imgLog, imgLog_32f;
        gpuImgLog.download(imgLog_32f);
    
        double min, max;
        cv::minMaxLoc(imgLog_32f, &min, &max);
        imgLog_32f.convertTo(imgLog, CV_8U, 255.0/(max-min), -255.0*min/(max-min));
        
        cv::imshow("img", img);
        cv::imshow("imgLog", imgLog);
        cv::waitKey(0);
    
        return 0;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-07
      • 2017-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多