㈠ opencv如何编译cuda vs2010
一、生成项目文件
假设我们已经将OpenCV-2.4.0源代码放到“C:\Program Files\OpenCV\src”目录下,安装完成cmake,并将ntel tbb可执行目录添加到系统环境变量,并使变量生效,相关部分参考博文:使用OpenCV-2.4.0.exe文件编译x86或x64平台Visual Studio2005/2008/2010目标文件。
运行cmake,如图1所示,然后单击“Where is the source code:”右侧的“Browse Source”,浏览到“C:/ProgramFiles/OpenCV/src”文件夹,单击“where to build the binaries:”右侧的“Browse Build”,浏览到“C:/Program Files/OpenCV/vs2005”文件夹(vs2005文件夹是我自己创建的)。
然后单击左下方的“Configure”按钮,这时会弹出“cmake-gui”窗口,在“Specify the generator for this project”下拉菜单选择“Visual Studio 8 2005”、“Usedefault native compilers”后,单击“Finish”按钮,如图2所示。
完成以上操作后勾选“BUILD_EXAMPLES”、“CUDA_BUILD_CBUIN”、“CUDA_VERBOSE_BUILD”、“WITH_TBB”和“WITH_CUBLAS” 、“WITH_CUDA”,注意这里千万不要勾选“CUDA_BUILD_EMULATION”选项,不然会报错的,如下所示。
[plain] view plainprint?
01.CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Moles/FindCUDA.cmake:616 (message):
02. CUDA_BUILD_EMULATION is not supported in version 3.1 and onwards. You must
03. disable it to proceed. You have version 4.2.
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Moles/FindCUDA.cmake:616 (message):
CUDA_BUILD_EMULATION is not supported in version 3.1 and onwards. You must
disable it to proceed. You have version 4.2.
这是因为在从CUDA 4.0开始NPP(NVIDIA Performance Primitives library,英伟达基本性能库)就是CUDA tookit的一部分面不再单独提供了。
配置tbb相关目录(包含目录、可执行目录和库目录),详情参考本人博文:使用OpenCV-2.4.0.exe文件编译x86或x64平台Visual Studio2005/2008/2010目标文件。这里不再赘述。
单击“Configure”按钮,所有红色行已经变为白色,在下方的信息我们会看到如下信息:
[plain] view plainprint?
Other third-party libraries:
Use IPP: NO
Use TBB: YES (ver 4.0 interface 6004)
Use Cuda: YES (ver 4.2)
Use Eigen: NO
NVIDIA CUDA: (ver 4.2)
Use CUFFT: YES
Use CUBLAS: YES
NVIDIA GPU arch: 11 12 13 20 21
NVIDIA PTX archs: 11 12 13 20 21
NVIDIA GPU features: 11 12 13 20 20 20
Other third-party libraries:
Use IPP: NO
Use TBB: YES (ver 4.0 interface 6004)
Use Cuda: YES (ver 4.2)
Use Eigen: NO
NVIDIA CUDA: (ver 4.2)
Use CUFFT: YES
Use CUBLAS: YES
NVIDIA GPU arch: 11 12 13 20 21
NVIDIA PTX archs: 11 12 13 20 21
NVIDIA GPU features: 11 12 13 20 20 20
特别注意,有两条为“Use TBB: YES (ver 4.0 interface 6004)”和“Use Cuda: YES (ver 4.2)”的字样,证明我们已经将intel tbb和CUDA正确配置。
最后点击Generate,下方的信息里面会有一条为“Generating done”的字样(如图3所示),而且我们已经成功生成项目文件。
㈡ opencv官方编译的版本用了tbb ipp加速吗
使用opencv需要编译源码,得到库文件。可以用cmake构建项目后编译,也可以直接用官方提供的编译好的版本。 官方提供的编译库一般只是标准版本,没有附加某些库,比如tbb等,要想让opencv使用tbb等库,就只能自己构建项目后编译。 当然,一般使用
㈢ 有没有在树莓派3b上安装过 android系统的
需要完成此次的项目,离不开opencv的支持,接下来我们就在树莓派上安装opencv。安装OpenCV的依赖包:[编译器]sudoapt-getinstallbuild-essential[必须安装]sudoapt-getinstallcmakegitlibgtk2.0-devpkg-configlibavcodec-devlibavformat-devlibswscale-dev[可选择安装]sudoapt-getinstallpython-devpython-numpylibtbb2libtbb-devlibjpeg-devlibpng-devlibtiff-devlibjasper-devlibdc1394-22-dev接下来需要从OpenCV官方网站:local..等待检测和设置完成,就可以开始编译了:make如果你要在python下运行opencv库的情况下,那就必须安装安装python-opencvsudoapt-getinstallpython-opencv安装完成
㈣ 如何利用opencv traincascade生成的xml文件来做测试
OpenCV中有两个程序可以训练级联分类器: opencv_haartraining 和opencv_traincascade。opencv_traincascade 是一个新程序,使用OpenCV 2.x API 以C++ 编写。这二者主要的区别是 opencv_traincascade 支持 Haar、Hog和 LBP(Local Binary Patterns) 三种特征,并易于增加其他的特征。与Haar特征相比,LBP特征是整数特征,因此训练和检测过程都会比Haar特征快几倍。LBP和Haar特征用于检测的准确率,是依赖训练过程中的训练数据的质量和训练参数。训练一个与基于Haar特征同样准确度的LBP的分类器是可能的。
opencv_traincascade and opencv_haartraining 所输出的分类器文件格式并不相同。注意,新的级联检测接口(参考 objdetect 模块中的 CascadeClassifier 类)支持这两种格式。 opencv_traincascade 可以旧格式导出训练好的级联分类器。但是在训练过程被中断后再重启训练过程, opencv_traincascade and opencv_haartraining 不能装载与中断前不同的文件格式。
opencv_traincascade 程序使用TBB来处理多线程。如果希望使用多核并行运算加速,请使用TBB来编译OpenCV。还有一些与训练相关的辅助程序。
opencv_createsamples 用来准备训练用的正样本数据和测试数据。 opencv_createsamples 能够生成能被 opencv_haartraining 和 opencv_traincascade 程序支持的正样本数据。它的输出为以 *.vec 为扩展名的文件,该文件以二进制方式存储图像。
㈤ visual studio 怎么搭建opencv呢
呵呵, 我感觉要自己安装还是有点麻烦,配置这,配置那得,最后发现还是不能用,我整的时候整理两天,建议你从朋友那拷个生成好的opencv库,因为这个事可移植性的,然后再自己配置下就可以用,一下是你拷过来库文件后的操作,可想而知要自己生产还是有那么复杂的。
配置vs环境变量
进入:工具->选项->项目和解决方案->VC++目录
可执行文件 添加:install的bin路径
包含文件 添加:install的include和include\opencv的路径(两者都要)
库文件 添加:install的lib路径
左后配置下
环境变量
进入 计算机->属性->高级系统设置->环境变量
在path添加
install中的bin路径:G:\wugang1\opencv\vs2008\install\bin;/*这里添加自己安装的路径*/
2. 由于有些函数需要TBB,所以需要将tbb所在的目录也加入到环境变量Path中。TBB相关的DLL路径为G:\wugang1\opencv\build\common\tbb\ia32\vc9
(这里如果之前安装了一些其他软件可能已经在环境变量中有了Path这个变量,那么在你的变量值后面加一个分号,再加上相关路径即可)
说的不清楚,希望对你有帮助吧....
㈥ 编译原理相关 算法文法G[S]
在龙书上一找,竟然略去了这部分内容。
于是上网络搜。
下面的链接可供参考:
http://wenku..com/link?url=NFIjE7_-RVNzLW_ZD7BXptFLuCuANW3f8R5UtNSIu_a0m36XfTsr_
主要是以下要点:
楼主在看完链接的网页的内容后,可参考以下答案。FirstVT简写为F,LastVT简写为L。
;∈F(S)
(∈F(G)
a∈F(H)
(∈F(H)
+∈F(T)
(∈F(S) //第二趟扫描
a∈F(G)
;∈F(T)
(∈F(T)
a∈F(S) //第三趟扫描
a∈F(T)
;∈L(S)
)∈L(G)
a∈L(H)
)∈L(H)
+∈L(T)
)∈L(S) //第二趟扫描
a∈L(G)
;∈L(T)
)∈L(T)
a∈L(S) //第三趟扫描
a∈L(T) //第四趟扫描
㈦ 关于linux安装TBB的问题
编译
tar -xf tbb41_20120718oss_src.tgz
cd ./tbb41_20120718oss_src.tgz,
按照readme的提示gmake 编译完成之后,build路径下面,会出现:
drwxr-xr-x 2 root root 20480 01-24 12:42 linux_intel64_gcc_cc4.1.2_libc2.5_kernel2.6.18_debug
drwxr-xr-x 2 root root 20480 01-24 12:38 linux_intel64_gcc_cc4.1.2_libc2.5_kernel2.6.18_release
修改环境变量
shell下执行: # vim ~/.bashrc
在最后添加 source /root/Desktop/tbb40_233oss/build/linux_intel64_gcc_cc4.1.2_libc2.5_kernel2.6.18_debug/tbbvars.sh
那么使用连接库的时候要使用-ltbb_debug
或者 source /root/Desktop/tbb40_233oss/build/linux_intel64_gcc_cc4.1.2_libc2.5_kernel2.6.18_release/tbbvars.sh 对应的链接库就是-ltbb了
1、测试 ltbb
重新打开一个shell,进入/tbb/tbb41_20120718oss/examples/pipeline/square
输入make,出现下面信息,表示成功安装
g++ -O2 -DNDEBUG -o square square.cpp -ltbb -lrt
./square 0 input.txt output.txt
serial run time = 0.160147
parallel run time = 0.0810647
elapsed time : 0.359243 seconds
2、测试ltbb_debug,就source deubg文件里面的tbbvars.sh
输入make debug test,出现下面信息表示成功安装
g++ -O2 -o gen_input gen_input.cpp -lrt
./gen_input >input.txt
g++ -O0 -g -DTBB_USE_DEBUG -o square square.cpp -ltbb_debug -lrt
./square 0 input.txt output.txt
serial run time = 0.169299
parallel run time = 0.0883386
elapsed time : 0.26235 seconds
3、测试自己写的cpp文件
记住在编译的时候加上-ltbb或-ltbb_debug。错误一般都是找不到库或者头文件,可以上网看看怎么设置PATH,LIBRARY_PATH,LD_LIBRARY_PATH。把这些路径设到tbb编译好的路径里面就行了。
例如gcc test.cc -ltbb_debug
㈧ 如何编译 opencv动态链接库
在一个项目中需要用到OpenCV,刚开始使用了OpenCV的动态链接库,这样,在移动可执行程序时还必须将OpenCV动态支持库一起搬移,很是麻烦。所以,最终选择OpenCV静态链接库,这样程序移植运行就方便了很多。
需要编译成静态库以便于应用程序链接。
网上有的教程中写的在VC++2010下安装OpenCV2.1时用到了TBB库,而我在编译链接自己的程序后需要用到TBB.dll。本人设计的目的就是要做一个独立的界面程序,不需要携带其他第三方库。经过一段时间的努力最终找到了编译OpenCV2.1静态库的方法。
㈨ 华为这么为什么tbb电视剧手机都是苹果
以前大家用苹果有以下原因,1.苹果的工业设计,以前那么多手机,放眼看过去,只有苹果是漂亮的。2.当初的安卓十分卡顿,只有苹果才有流畅的体验。且只有苹果在拍照等方面表现均衡优秀3.苹果是身份的象征。然而现在这些逐渐不成立了,工业设计从去年开始就被s6超了,国产手机有些也很好看。其次苹果引以为傲的操作流畅度在安卓旗舰机面前也没有什么优势了。并且现在国产品牌的认可度在提高,如华为。
㈩ 如何使用预编译的静态库平台
tbb 2.2中提供了统一的头文件:tbb.h,只要包含这个文件就可以使用所有tbb的库了。为了使用起来方便,以及可以使用静态库,可以使用以下这些命令自己创建:
# 1. 先下载 tbb22_20090908oss_src.tgz, 去 http://www.threadingbuildingblocks.org
# 2. 解压
tar -zxvf tbb22_20090908oss_src.tgz
cd tbb22_20090908oss
# 3. 编译,没必要直接make,很多东东其实不需要
make tbb && make tbbmalloc
# 4.编译好的东东在build目录下,不同的编译器和操作系统,文件夹的名字不一样
cd build/linux_ia32_gcc_cc4.1.0_libc2.4_kernel2.6.16.46_release
# 5.自己写个命令把o文件打包成静态库
ar cqs libtbb.a *.o
cp libtbb.a ../../../
#再去预编译头文件
cd ../../include/tbb
g++ -o tbb.h.gch -x c++-header -c tbb.h -g -Wall -Werror -O2 -DNDEBUG
cp tbb.h.gch tbb.h ../../../
cd ../../../