作者ofd168 (大色狼來襲)
看板C_and_CPP
標題[問題] openCv與CUDA混合編輯
時間Mon Aug 13 23:57:28 2012
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
openCV, CUDA
問題(Question):
我想要opencv與cuda混合使用
openCV和CUDA都設定好
假設我想用openCV, 就寫在.cpp
假設我想用CUDA 就寫在.cu
但如果我想混合使用
我光在.cu include cv.h highgui.h就錯了
怎麼才能混合使用呢?
錯誤結果(Wrong Output):
c:\opencv2.1\vs2008_x86\include\opencv\cxoperations.hpp(1254): error: no
operator "=" matches these operands
c:\opencv2.1\vs2008_x86\include\opencv\cxmat.hpp(730): error: function
"cv::Mat_<_Tp>::t" returns incomplete type
"cv::MatExpr_<cv::MatExpr_Op2_<cv::Mat, double, cv::Mat,
cv::MatOp_T_<cv::Mat>>, cv::Mat>"
c:\opencv2.1\vs2008_x86\include\opencv\cxmat.hpp(2978): error: no suitable
user-defined conversion from "cv::MatExpr_<cv::MatExpr_Op3_<cv::Mat,
cv::Scalar, int, cv::Mat, cv::MatOp_Bin_<cv::Mat>>, cv::Mat>" to
"cv::MatExpr_<cv::MatExpr_Op3_<cv::Mat, cv::Scalar, int, cv::Mat,
cv::MatOp_BinS_<cv::Mat>>, cv::Mat>" exists
3 errors detected in the compilation of
"C:/Users/NKFUST~1/AppData/Local/Temp/tmpxft_00000ccc_00000000-17_CUDA.cpp4.ii"
補充說明(Supplement):
abc.cpp 可compile
改成 abc.cu就錯
把include刪掉又可以run了.....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.18.104.235
→ diabloevagto:opencv有些func就有使用到cuda了,那些沒有合乎要求 08/14 00:01
→ diabloevagto:嗎?只是如果要用的話opencv要自己編過 08/14 00:01
因為我只會用到openCV的一些功能
ex 讀圖.show 圖 or 其他等等
我自己還會對他做一些運算 希望使用cuda演算法.....
※ 編輯: ofd168 來自: 163.18.104.235 (08/14 11:24)
→ diabloevagto:不過應該沒用過cuda就不清楚為什麼會錯 08/14 13:27
推 diabloevagto:不知道你其他功能是什麼,不過如果你opencv就讀圖跟 08/14 13:30
→ diabloevagto:秀圖的話,可以考慮用.net來實現 08/14 13:31
→ sunneo:可以用--cuda生出cu.cpp然後再-lcudart吧 08/16 03:12
= =? 不太懂耶
※ 編輯: ofd168 來自: 163.18.104.235 (08/16 13:16)
→ blu1121:可以將.cu檔compile成DLL檔,讓.cpp呼叫使用 12/23 19:19