使用 OpenCL 支持构建 OpenCV

2024-04-30

在 CMake 中,我使用 OpenCL Enable ON 构建了 OpenCV(它自动检测到OPENCL_INCLUDE_DIR路径但是OPENCL_LIBRARY即使单击配置后也是空的。为了OPENCL_LIBRARY我也没有看到浏览按钮..生成 opencv 二进制文件后,我运行下面的代码

#include <iostream>
#include <fstream>
#include <string>
#include <iterator>
#include <opencv2/opencv.hpp>
#include <opencv2/core/ocl.hpp>

int main()
{
  if (!cv::ocl::haveOpenCL())       
      cout << "OpenCL is not avaiable..." << endl;          
   else cout << "OpenCL is AVAILABLE! :) " << endl; //this is the output

   cv::ocl::setUseOpenCL(true);

   cout << context.ndevices() << " GPU devices are detected." << endl; 
   for (int i = 0; i < context.ndevices(); i++)
   {
     cv::ocl::Device device = context.device(i);
     cout << "name:              " << device.name() << endl;
     cout << "available:         " << device.available() << endl;
     cout << "imageSupport:      " << device.imageSupport() << endl;
     cout << "OpenCL_C_Version:  " << device.OpenCL_C_Version() << endl;
     cout << endl;
    } //this works & i can see my video card name & opencl version
    cv::ocl::Device(context.device(0));
}

当我利用UMat为了衡量性能,使用(UMat)或不使用(Mat)OpenCL 的性能没有任何区别。

我从这里下载了AMD-APP-SDKlink http://developer.amd.com/amd-license-agreement-appsdk/并尝试构建,但没有 OpenCL 二进制文件(相反,我看到了 opengl dll 文件 [glew32.dll & glut32.dll]。如何通过链接 OPENCL_LIBRARY 使用 OpenCL 构建 OpenCV?


我相信您有 OpenCL,因此您致电的结果是haveOpenCL并来自版本请求。我不确定您的性能测试结果是否等同于您没有 OpenCL。

如果你想了解 OpenCL,我会先退一步弄清楚,然后尝试用它来了解 OpenCV。

你的链接失效了,你试试this http://developer.amd.com/tools-and-sdks/opencl-zone/opencl-resources/getting-started-with-opencl/。它有一个到当前 AMD APP SDK (3.0) 的链接,我将完成该设置并确保您可以在您的系统上构建/运行 OpenCL 示例,然后您应该能够解决它在 OpenCV 中无法工作的原因(如果确实不是的话)。

至于性能,嗯,这取决于。每次向显卡发送数据或从显卡发送数据时,都会产生一定的成本;透明 API 旨在为您做出这样的选择:如果将其发送到卡以进行更快的处理值得来回……如果不值得,您的性能实际上会较差。此外,并非所有库都将在 GPU 上运行。请参阅一些解释opencv.org http://opencv.org/platforms/opencl.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 OpenCL 支持构建 OpenCV 的相关文章

  • 无法将 std::min 传递给函数,std::min 的副本有效

    Passing std min函数无法编译 我复制了 libcpp 声明std min进入我的源文件并且它可以工作 std 版本有什么问题 clang 和 gcc 也会发生同样的情况 在 Godbolt 上测试 https godbolt
  • 我如何知道 C 程序的可执行文件是在前台还是后台运行?

    在我的 C 程序中 我想知道我的可执行文件是否像这样在前台运行 a out 或者像这样 a out 如果你是前台工作 getpgrp tcgetpgrp STDOUT FILENO or STDIN FILENO or STDERR FIL
  • C free() 是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 malloc 和 free 如何工作 https stackoverflow com questions 1119134 how malloc and free work include
  • XPATH 查询、HtmlAgilityPack 和提取文本

    我一直在尝试从名为 tim new 的类中提取链接 我也得到了解决方案 给出了解决方案 片段和必要的信息here https stackoverflow com questions 2982862 extracting a table ro
  • MFC CList 支持复制分配吗?

    我在 MSVC 中查找了 CList 定义afxtempl h http www cppdoc com example mfc classdoc MFC AFXTEMPL H html并记录在MSDN http msdn microsoft
  • 司机和提供商之间的区别

    数据库中的驱动程序和提供程序有什么区别 有没有解释一下 不胜感激 样本 ADO NET driver for MySQL vs providerName System Data EntityClient 来自 MSDN 论坛 驱动程序是安装
  • 全局使用和 .NET Standard 2.0

    我最近意识到我可以使用 C 10 功能文件范围的命名空间在 NET Standard 2 0 项目中也可以通过设置
  • while循环中的变量初始化

    我有一个可以分块读取文件的函数 public static DataObject ReadNextFile 数据对象看起来像这样 public DataObject public string Category get set And ot
  • 通过 C# Mailkit / Mimekit 发送电子邮件,但出现服务器证书错误

    Visual Studio 2015 中的 0 代码 1 我正在使用 Mailkit 最新版本 1 18 1 1 从我自己的电子邮件服务器发送电子邮件 2 电子邮件服务器具有不受信任的自签名证书 3 我在代码中添加了以下两行 以忽略服务器证
  • 用于连接 DataTable 上的动态列的动态 LINQ

    我目前遇到的情况不确定如何继续 我有两个从数据库填充的数据表 我还有一个可用的列名称列表 可用于将这两个数据表连接在一起 我希望编写一组 LINQ 查询 这些查询将 显示两个数据表中的行 内部联接 用于从一个数据表更新另一个数据表 显示一个
  • Resharper:IEnumerable 的可能多重枚举

    我正在使用新的 Resharper 版本 6 在我的代码中的几个地方 它给一些文本加了下划线 并警告我可能存在IEnumerable 可能的多重枚举 我理解这意味着什么 并在适当的情况下采纳了建议 但在某些情况下 我不确定这实际上是一个大问
  • 无法为 wsdl 文件创建服务引用

    I have wsdl文件和xsd我本地机器上的文件 我想在项目中添加服务引用 我没有网络服务 我只有wsdl file 我收到以下错误 The document was understood but it could not be pro
  • C++ 到 C# 事件处理

    所以我有我的C WinForm 应用程序 我从中调用我的C CLI MFC dll图书馆 但也有一些events在我的 C 库上 甚至此事件也发生在该库的本机 非 CLI 部分 我需要从我的 C 应用程序调用一些代码 并获取一些有关此事件的
  • doxygen c++:记录由“using”声明公开的私有继承成员

    作为一个例子 我有以下课程 class A public void methodOne class B private A public Brief description using A methodOne 我还没有找到强制 doxyge
  • 为什么 f(i = -1, i = -1) 是未定义的行为?

    我正在读关于违反评估顺序 http en cppreference com w cpp language eval order 他们举了一个令我困惑的例子 1 如果标量对象上的副作用相对于同一标量对象上的另一个副作用是无序的 则行为未定义
  • 浮点字节序?

    我正在为实时海上模拟器编写客户端和服务器 并且由于我必须通过套接字发送大量数据 因此我使用二进制数据来最大化可以发送的数据量 我已经了解整数字节顺序以及如何使用htonl and ntohl为了规避字节顺序问题 但我的应用程序与几乎所有模拟
  • C 语言中的 Alpha 混合 2 RGBA 颜色[重复]

    这个问题在这里已经有答案了 可能的重复 如何快速进行阿尔法混合 https stackoverflow com questions 1102692 how to do alpha blend fast 对 2 个 RGBA 整数 颜色进行
  • 深度估计的准确性 - 立体视觉

    我正在研究立体视觉 我对这个问题的深度估计的准确性感兴趣 这取决于几个因素 例如 适当的立体校准 旋转 平移和失真提取 图像分辨率 相机和镜头质量 失真越小 色彩捕捉正确 两个图像之间的匹配特征 假设我们没有低成本的相机和镜头 没有廉价的网
  • printf或iostream如何指定点后的最大位数

    字符串采用什么格式printf or iomanip我应该使用 iostream 中的运算符以以下格式打印浮点数 125 0 gt 125 125 1 gt 125 1 125 12312 gt 125 12 1 12345 gt 1 12
  • 如果“嵌入式”SQL 2008 数据库文件不存在,如何创建它?

    我使用 C ADO Net 和在 Server Management Studio 中创建的嵌入式 MS SQL 2008 数据库文件 附加到 MS SQL 2008 Express 创建了一个数据库应用程序 有人可以向我指出一个资源 该资

随机推荐

  • CUDA 常量内存是否应该被均匀地访问?

    我的 CUDA 应用程序的恒定内存小于 8KB 既然它都会被缓存 我是否需要担心每个线程访问相同的地址以进行优化 如果是 如何确保所有线程同时访问同一地址 既然它都会被缓存 我是否需要担心每个线程访问相同的地址以进行优化 是的 这缓存本身每
  • AJAX 表单不显示成功或错误消息

    这个问题我以前也问过 但还是没搞明白 我做了一些改变 但不幸的是我仍然没有得到任何运气 表单本身可以工作 但当用户尝试发送表单时 它还应该显示错误或成功消息 但它不显示消息 而是发送表单而不显示它 看看我的代码 HTML
  • 我可以在运行时更改 Silverlight 浏览器外设置吗?

    我有一个代码库 可以在各种配置中安装 OOB SL5 应用程序 根据运行时的配置 由初始化参数选择 我想在执行安装之前更新 OOB 设置 标题 窗口标题 看来唯一的方法是在编译时通过 OutOfBrowserSettings xml 文件
  • 对 Windows 窗体上的字段执行数据验证的最简单方法

    我有一个 Windows 窗体项目 我想在用户按下底部的计算按钮之前强制用户在某些字段中输入值 这些字段包括三对单选按钮 five 文本框和一个组合框 因此基本上所有这些字段都需要包含一个值才能执行计算 此外 文本框应包含numbers 任
  • 定义 WebActivator.PreApplicationStartMethod 类的初始化顺序

    我有几个 WebActivator PreApplicationStartMethod 装饰类 一个用于 Ninject 另一个用于 AwesomeMVC 第三个用于后台任务调度程序 问题是调度程序类需要利用 IoC 容器解决的依赖关系 我
  • 作用域对象的 Xtext 示例

    我正在寻找一个示例 在 XText 中 说明如何在用户定义的对象成员上实现代码完成 据我所知 我需要使用 IScope 但所有这些如何连接在一起还不清楚 鉴于trait是用户定义的类型 我如何构建语法来编码完成 验证其中包含的方法Strin
  • WordPress URL 中的正斜杠

    我正在将我的网站从 Drupal 迁移到 Wordpress 在 Drupal 中 我可以轻松地给 URL 指定一个别名 这个别名可以是任何东西 即 www example com abc xyz hello html 但在 WordPre
  • 来自两个表的数据而不重复第一个表的数据?

    我的 MySQL 数据库中有两个表 用户表和用户元表 我正在寻找一种方法 通过一个查询从两个表中获取所有信息 但不重复用户表中的信息 这也是与用户 ID 号相关的所有信息 例如 user id 1 有没有办法查询数据库并收集两个表中的所有信
  • 如何从 URL 获取视图中的当前路由 ID (ASP.NET MVC)

    在从 URL 例如 Controller Action 1 返回的视图中 假设默认路由为controller action id 如何从视图中访问 ID 我不想在处理请求时将其添加到操作级别的 ViewData 字典中 我认为这就是您正在寻
  • Crystal Reports 间歇性错误“无法提交请求以进行后台处理。”

    我们在带有 NET Framework 3 5 SP1 的 Windows Server 2008 上运行 Crystal Reports 我见过许多导致一般错误 无法提交请求进行后台处理 的原因 然而 在其他论坛上 由于特定报告的特定格式
  • 两种模板类型和两个模板参数列表有什么区别?

    这两个声明有什么区别 template
  • 如何在自定义服务器控件asp中使用.resx和.resource文件?

    我正在编写自己的服务器端控件 并且使用存储在 resx文件 在控制台应用程序中 此代码运行良好 ResXResourceReader rsxr new ResXResourceReader Resource1 resx foreach Di
  • 将 XML 反序列化为类

    我有正在反序列化的 XML 这是我的 XML
  • 自定义地图标注视图点击即可隐藏

    我已经制作了自定义地图标注 我的标注包含UIButtons and UITextView 当我点击时UIButton 按起来很好 但是当我点击UITextView它将光标移动到点击位置 然后取消选择图钉并消失标注 我已经实施了hitTest
  • Postgres触发器函数更新另一个表中的聚合结果

    我有两张桌子 表 x 和表 y 表 x 每天都会更新 我希望在表 x 中插入新数据后立即更新表 y 表 y 包含表 x 中每天所有更新的聚合值 Date为Date类型 其余两列为real类型 Table x 可以每天更新 table y 应
  • 当url中有空格时htaccess重定向

    我想从仍然出现在谷歌搜索中的旧网址重定向到新网址 旧的网址是这样的 http www marionettecolla org file 20 mostra milano mostra marionette milano htm 我想将其重定
  • 每天在 R 数据帧上应用 cut()

    我在 R 中有一个数据表 我在其中应用了cut and table 我能够根据条件得到频率表 但我得到了总体频率 我想明智地做到这一点 我有一个名为timestamp其中有时间戳 我还有一个section具有价值的列A or B 如何根据每
  • C# 文本文件 - 如何写入 EOF 字符

    这一定是一个简单的问题 但我没有找到任何东西 我有一个文本文件 我需要在末尾放置一个 EOF 字符 以便第三方供应商可以正确读取文件 写入文件结尾字符所需的转义字符是什么 我不确定是否需要提供更多信息 但如果需要 请告诉我 Thanks 如
  • iOS PhoneGap 调试工作流程

    如何在 Xcode 中调试 javascript 我可以做的一件事是在 OS X Chrome 浏览器中打开页面 但这自然不适用于涉及本机代码的应用程序流 我是否缺少一个聪明的 Xcode 技巧 随着 iOS 6 的发布 Apple 与 M
  • 使用 OpenCL 支持构建 OpenCV

    在 CMake 中 我使用 OpenCL Enable ON 构建了 OpenCV 它自动检测到OPENCL INCLUDE DIR路径但是OPENCL LIBRARY即使单击配置后也是空的 为了OPENCL LIBRARY我也没有看到浏览