質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

4回答

5711閲覧

二つの画像を一つにするプログラムをvisual studioで行いたいのですがエラーがでます。

carnage0216

総合スコア194

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2018/03/30 03:25

編集2018/04/03 03:33

<環境>
Windows10 64bit
visual studio 2015
opencv 2.4.6 opencv3.4に変更いたしました。

以前質問したリンク内容ので出てきた。
Mat dst(gpuDst);のgpuDstに関しての問題です。

ソースコードはこちらです。

#include <opencv2/opencv.hpp> #include <opencv2/gpu/gpu.hpp> //#include "../../../ocvlibs.h" //-------------------------------------------------------------------------- #ifdef _DEBUG //Debug #pragma comment(lib,"opencv_calib3d246d.lib") #pragma comment(lib,"opencv_core246d.lib") #pragma comment(lib,"opencv_contrib246d.lib") #pragma comment(lib,"opencv_features2d246d.lib") #pragma comment(lib,"opencv_flann246d.lib") #pragma comment(lib,"opencv_gpu246d.lib") #pragma comment(lib,"opencv_haartraining_engined.lib") #pragma comment(lib,"opencv_highgui246d.lib") #pragma comment(lib,"opencv_imgproc246d.lib") #pragma comment(lib,"opencv_legacy246d.lib") #pragma comment(lib,"opencv_ml246d.lib") #pragma comment(lib,"opencv_objdetect246d.lib") #pragma comment(lib,"opencv_ts246d.lib") #pragma comment(lib,"opencv_video246d.lib") #else //Release #pragma comment(lib,"opencv_calib3d246.lib") #pragma comment(lib,"opencv_core246.lib") #pragma comment(lib,"opencv_contrib246.lib") #pragma comment(lib,"opencv_features2d246.lib") #pragma comment(lib,"opencv_flann246.lib") #pragma comment(lib,"opencv_gpu246.lib") #pragma comment(lib,"opencv_haartraining_engine.lib") #pragma comment(lib,"opencv_highgui246.lib") #pragma comment(lib,"opencv_imgproc246.lib") #pragma comment(lib,"opencv_legacy246.lib") #pragma comment(lib,"opencv_ml246.lib") #pragma comment(lib,"opencv_objdetect246.lib") #pragma comment(lib,"opencv_ts246.lib") #pragma comment(lib,"opencv_video246.lib") #endif using namespace cv; //-------------------------------------------------------------------------- //main int main(int argc, char* argv[]) { try { int numOfGpu = gpu::getCudaEnabledDeviceCount(); if (numOfGpu<=0) throw ("no Gpu available."); if (argc<3) throw ("few parameter."); Mat src1 = imread(argv[1]); Mat src2 = imread(argv[2]); if (src1.empty() || src2.empty() || src1.size != src2.size) throw ("failed to open file, or images are not same size."); gpu::GpuMat gpuSrc1(src1), gpuSrc2(src2), gpuDst; gpu::add(gpuSrc1, gpuSrc2, gpuDst); Mat dst(gpuDst); imshow("C:\Users\Daito\Desktop\DTWW6svVQAEvgvk.jpg", src1); imshow("C:\Users\Daito\Desktop\3ef27df162e6082d29f54ed466248053.jpg", src2); imshow("dst", dst); imwrite("dst.jpg", dst); waitKey(0); } catch( const char* str ) { std::cout << str << std::endl; } catch (const cv::Exception* ex) { std::cout << "Error: " << ex->what() << std::endl; } return 0; }

エラーメッセージです。

1>------ ビルド開始: プロジェクト:ConsoleApplication9, 構成:Release x64 ------ 1> pgm.cpp 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(432): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(432): error C2143: 構文エラー: ',' が '<' の前にありません。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(438): error C2061: 構文エラー: 識別子 'vector' 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1265): error C2143: 構文エラー: ';' が '<' の前にありません。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1265): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1265): error C2238: ';' の前に無効なトークンがあります。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1266): error C2143: 構文エラー: ';' が '<' の前にありません。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1266): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1266): error C2238: ';' の前に無効なトークンがあります。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1267): error C2143: 構文エラー: ';' が '<' の前にありません。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1267): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1267): error C2238: ';' の前に無効なトークンがあります。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1285): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1285): error C2143: 構文エラー: ',' が '<' の前にありません。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1287): error C2143: 構文エラー: ';' が '<' の前にありません。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1287): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1287): error C2238: ';' の前に無効なトークンがあります。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1288): error C2143: 構文エラー: ';' が '<' の前にありません。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1288): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1288): error C2086: 'int cv::gpu::HOGDescriptor::vector': 再定義されました。 1> C:\opencv\build\include\opencv2/gpu/gpu.hpp(1287): note: 'cv::gpu::HOGDescriptor::vector' の宣言を確認してください 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1288): error C2238: ';' の前に無効なトークンがあります。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1289): error C2143: 構文エラー: ';' が '<' の前にありません。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1289): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1289): error C2086: 'int cv::gpu::HOGDescriptor::vector': 再定義されました。 1> C:\opencv\build\include\opencv2/gpu/gpu.hpp(1287): note: 'cv::gpu::HOGDescriptor::vector' の宣言を確認してください 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1289): error C2238: ';' の前に無効なトークンがあります。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1291): error C2061: 構文エラー: 識別子 'vector' 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1295): error C2061: 構文エラー: 識別子 'vector' 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1300): error C2061: 構文エラー: 識別子 'vector' 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1303): error C2061: 構文エラー: 識別子 'vector' 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1821): warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1835): error C2143: 構文エラー: ';' が '<' の前にありません。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1835): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1835): error C2238: ';' の前に無効なトークンがあります。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1836): error C2143: 構文エラー: ';' が '<' の前にありません。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1836): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1836): error C2238: ';' の前に無効なトークンがあります。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1838): error C2143: 構文エラー: ';' が '<' の前にありません。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1838): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1838): error C2238: ';' の前に無効なトークンがあります。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1839): error C2143: 構文エラー: ';' が '<' の前にありません。 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1839): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません 1>C:\opencv\build\include\opencv2/gpu/gpu.hpp(1839): error C2238: ';' の前に無効なトークンがあります。 1>..........\Desktop\GPU高速動画像処理\05two\01add\pgm\pgm.cpp(68): error C2664: 'cv::Mat::Mat(cv::Mat &&)': 引数 1 を 'cv::gpu::GpuMat' から 'const cv::cuda::GpuMat &' へ変換できません。 1> ..........\Desktop\GPU高速動画像処理\05two\01add\pgm\pgm.cpp(68): note: 理由: 'cv::gpu::GpuMat' から 'const cv::cuda::GpuMat' へは変換できません。 1> ..........\Desktop\GPU高速動画像処理\05two\01add\pgm\pgm.cpp(68): note: 認識できない型 'cv::cuda::GpuMat' が使われています。 1> C:\opencv\build\include\opencv2/core/base.hpp(655): note: 'cv::cuda::GpuMat' の宣言を確認してください ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

エラーメッセージとは別にMat dst(gpuDst);のgpuDstにカーソルを置くと「コンストラクター"cv::Mat::Mat"のインスタンスが引数リストと一致しません引数の型(cv::gpu::GpuMat)」と書いてあります。
他にもエラー一覧として、識別子USAG_DEFULTが定義されていませんなどが出てきます。
コピペしたかったのですが、出力ではないためできませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ちなみに僕とこでは

  • OpenCV 3.4.0 (WITH_CUDA:ON)
  • CUDA 9.1 (+ GeForce GTX750)
  • Windows 10 Pro. x64
  • Visual Studio 2015 Community

C++

1#include <opencv2/opencv.hpp> 2#include <opencv2/core/cuda.hpp> 3using namespace cv; 4 5int main(int argc, char* argv[]) { 6 try { 7 int numOfGpu = cuda::getCudaEnabledDeviceCount(); 8 if (numOfGpu<=0) 9 throw ("no Gpu available."); 10 11 if (argc<3) 12 throw ("few parameter."); 13 14 Mat src1 = imread(argv[1]); 15 Mat src2 = imread(argv[2]); 16 17 if (src1.empty() || src2.empty() || src1.size != src2.size) 18 throw ("failed to open file, or images are not same size."); 19 20 cuda::GpuMat gpuSrc1(src1), gpuSrc2(src2), gpuDst; 21 22 cuda::add(gpuSrc1, gpuSrc2, gpuDst); 23 Mat dst(gpuDst); 24 25 imshow("1", src1); 26 imshow("2", src2); 27 imshow("1+2", dst); 28 waitKey(0); 29 } catch( const char* str ) { 30 std::cout << str << std::endl; 31 } catch (const cv::Exception* ex) { 32 std::cout << "Error: " << ex->what() << std::endl; 33 } 34 return 0; 35}
:# build.bat set OPENCVDIR=D:\project\opencv-3.4.0 set CVINC=%OPENCVDIR%\include set CVLIB=%OPENCVDIR%\x64\vc14\lib cl -EHsc -I%CVINC% foo.cpp opencv_world340.lib -link -libpath:%CVLIB%

ちゃんと動いた

投稿2018/04/04 23:02

編集2018/04/04 23:05
episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

carnage0216

2018/04/05 05:40

なんて作業が速い!凄いです。 私はvsが正常な時でさえも出来ず、今はVisual Studio 2015 Communityのエラーに振り回されています。 環境が整っていてほんとに羨ましいです。
episteme

2018/04/05 05:54

MinGWの類は仮想マシン立てて動かすことにして、メイン機は極力環境を汚さんようにしてますし。なんやかんやぶちこんで苦労するのは自分ですからね。 # このサンプルに使った、CUDA用にre-buildしたOpenCVやけど、欲しけりゃあげるヨ
carnage0216

2018/04/05 05:59

本当ですか!? 是非いただきたいですが、私のためにならないので、申し訳ありませんが今はご遠慮させていただきます。 仮想空間でもcudaが使える事が分かっただけでも勉強になります。
episteme

2018/04/05 06:51

>仮想空間でもcudaが使える事が分かっただけでも勉強になります え? んなことしてない。仮想マシンでMinGWはたまに試すがCUDAは無理だと思う。
carnage0216

2018/04/05 09:06

勘違いしていました。 すいません。
carnage0216

2018/04/05 13:41 編集

あの、今更で申し訳ありません。 やはり、ビルドしたコードを頂けないでしょうか。 あの、CUDA用にre-buildしたとの事ですが、なぜbuiidではなくre buiidなのですか?
episteme

2018/04/05 20:28

構成変えて何度もbuildしてるので念のため。 ともかくブツ送ります。twitter: @epitwit にメッセージください。
carnage0216

2018/04/05 20:50

どうもありがとうございます。お待ちください。
carnage0216

2018/04/05 22:31

επιστημη (@epitwit) - Twitter こちらで大丈夫でしょうか?
carnage0216

2018/04/06 00:17

あの、ツイッターでメッセージを送ったのですが、届きましたでしょうか。
carnage0216

2018/04/06 11:52

おかげざまでビルドできました。 あの、epistemeさんの書いたプログラムのどこに二つの画像データの情報を載せればいいのでしょうか。 どうかよろしくお願いいたします。
episteme

2018/04/06 12:02 編集

うがー! コードから明らかぢゃねーか! てか screen-shot 見ろよ!
dodox86

2018/04/06 12:47

横から失礼いたします。閲覧させてもらっている者として、見かねていることもありまして。 >carnage0216さん 本質問も一度は解決済みとなっていることでもありますし、この辺で終わりになさっても良いのではないでしょうか。 重ねて失礼ながら、他のC言語に関する質問回答のやり取りから推察するに、少なくとも現状、他の方の書かれたコードを読み解く力に欠けていると思わざるを得ません。個々の回答やコメントから得られる情報は、閲覧している者としても大いに参考にさせてもらっている場合もあるのですが、少々目に余るもののように思います。 延々としたコメントに付き合ってくださっているepistemeさんを始め、他の回答者さんの負担になることにも気が付かれた方が良いかと思います。これまで回答してくださった他の回答者さんが、それからの一連の質問に必ずしも付き合ってくれてはいない、と言うことの意味を考えてみるのも良いかと思うのですが、私の考え過ぎでしょうか。 (私の回答に発したものではないコメント欄にて失礼しました。以上とさせていただきます)
carnage0216

2018/04/06 12:57

読む力も書く力もまだまだ全然ありません。 ただ最後にepistemeさんにお尋ねしたいのですが、どうやって質問に載せたプログラムをepistemeさんの載せたプログラムのように改造?したのでしょうか。 そうとうCUDAに関して熟練しているように思えます。私もいつかepistemeさんのように結果が同じでありながら自分だけのオリジナルのコードが書きたいです。
episteme

2018/04/06 13:00

別になんもやってないよ。OpenCV3.4で通るようにマニュアル眺めつつテキトーにいぢくっただけ。
carnage0216

2018/04/06 13:51

マニュアルを読んだだけでここまでできるとは恐れ入ります。 どうもありがとうございます。
carnage0216

2018/04/07 00:16

私は大きな間違いをしていました。 基礎能力もないのに、諦めずに改善策を見つけることが良いことだと思っていましたが、皆様にご迷惑をおかけしては申し訳ないです。 dodox86さんのおっしゃるように普段回答してくださる方も私に嫌気がさしたのか来なくなってしまいました。 基礎勉強(参考書にあるプログラムを打ち込んでコンパイルするなど、関数の構造を理解して覚える)をする反面、少し難しいですがやりたい事をやったのですが、私には難しかったようです。 実際、理解がちゃんと出来ていなかったため基本的な恥ずかしいミスをご指摘をされました。 基礎勉強をするにしても一人では伸びが悪く、独学に限界があります。 塾や教室に通えれば良いのですが金銭的に難しいです。 正直、好きなことだからこそ下手でもやっていきたいと考えていましたが。わからなくなってきました。
episteme

2018/04/07 01:04

僕は独学ですよ。長い時間かけたけど。 楽しければ続けられる。
carnage0216

2018/04/08 08:50 編集

独学でここまでできるのは天才です。やはり世界に通用する力を付けるには学校で勉強するだけではだめなのですね。 私は独学には向いていませんが勉強は好きなのでなんとか続いています。
carnage0216

2018/04/08 08:56

あの、今更なのですがepistemeさんの載せたプログラムはGPUを使っていますが、 #include <opencv2/gpu/gpu.hpp>やライブラリの #pragma comment(lib,"opencv_gpuxxx.lib") など見当たりませんが、どのように工夫してGPUのヘッダファイルやライブラリなしにGPUを使ったのでしょうか? 大変気になります。
episteme

2018/04/08 09:46 編集

1. マニュアル読んだ。 2. opencv_world###.lib 一本にまとめたから。
episteme

2018/04/08 09:59

> 独学でここまでできるのは天才です。 バカにするなよ。 自分の知りたいことは何であれどこかで教えてもらえるとでも思ってんのか?
carnage0216

2018/04/08 12:08

断じて違います。今現代、大学に通って過保護に扱われている学生や社会人は私と同等でちゃんとしたコードを掛ける人が少ないのです。(根拠があるというかあくまでサイトでの情報で偽りかもしれませんが。) 高額な大金を払って大学に通ったり塾に通っているのにコードが書けないのですよ。おかしいじゃないですか。もしかしたら自学自習しなかったため技術が伸びなかったのかもそれません。 私もお金があったら学校や塾に通いたいです。 私はepistemeの足元に及ばないですが、epistemeさんと同じ独学です。 決してバカにしていません。私にとってはepistemeさんは先生のようなものなのです。 ここまで教えてくれる人を馬鹿にするわけないじゃないですか。 不快にさせてしまい本当に申し訳ありません。
carnage0216

2018/04/08 12:10

>> opencv_world###.lib 一本にまとめたから。 難しそうです。どうまとめたのか全く理解できません。
YomogiKOBO

2018/04/08 12:45

> 今現代、大学に通って過保護に・・うんぬん そんな話、carnage0216さんの中だけでしてください。
Zuishin

2018/04/08 13:49

ここまで手取り足取り家庭教師についてもらってよく独学って言えましたね。
carnage0216

2018/04/08 14:37 編集

>>手取り足取り家庭教師についてもらって これに関しては少し誤解があるように思えます。非難を承知で言わせていただくと手取り足取りほどのレベルで教わってはいません。(私が未熟故に気ずけていないかもしれませんが。) 基礎が抜けていて怒られたりご迷惑をおかけすることはあります。 Zuishinさんがどのようにして勉強していったかはわかりませんが、私なりにここに来る以前に独学としてやっていたことを言いたかっただけです。今は独学でわからないことがあった際には頼らせていただいているため独学できているとは言えません。 私が言った「独学」とはここに来る以前の独学(参考書やサイトの情報を基に環境設定など)をいいます。しかし独学と言っても結局は自分の思い込みや間違った知識のまま来ている面が多い私が、ここで皆様に教えていただけで本当によかったと思う反面、自分は独学ができない人間なのだと情けなくなります。意地を張ったり、強がっても結局私は手取り足取り教えてもらえないとなんにも身についていないことを痛感します。ほんと絶望的でやる気をなくします。行動して勉強しても間違ったことしかできないので。
Zuishin

2018/04/08 14:37

国語や算数の話はしてませんよ。
carnage0216

2018/04/08 14:39

言葉不足でした。プログラミングを勉強し始めてここに来るまでの3年間での話です。
Zuishin

2018/04/08 14:45

じゃあ独学でいいです。C は for が書けずアセンブラは jg を見たことがないというのが学習したことになるなら。
carnage0216

2018/04/08 14:56 編集

>>C は for が書けずアセンブラは jg を見たことがないというのが学習したことになるなら。 私が独学というかサイトや本を参考にできたことは簡単な環境を整える程度なので、プログラミングにおいては独学ではないので結果として独学ではありません。 私みたいな頓珍漢な奴が独学なんてできないですよ。間違ったことばかり吸収していることがここで分かったので。 >>じゃあ独学でいいです。 今思うと独学ではないので、気を使っていただかなくて結構です。 >>C は for が書けずアセンブラは jg を見たことがないというのが学習したことになるなら。 学習とは言えないですね。でも、今 サイトや本で勉強しています。これで力がつくことが出来たら初めて正しい知識を持って独学できたといえるのではないでしょうか? なのでどうか見守っていただきたいです。
carnage0216

2018/04/08 14:59

プログラマは独学できないといけないので、もしかしたら心おれて今年には消えているかもしれませんが それまでにC言語のソースなどが読めるようになれればここに居たいと思います。
Zuishin

2018/04/08 14:59

そんな話じゃなくて episteme さんや asm さんにこれだけ付き合ってもらってよく独学なんていう恩知らずなことが言えるなってことだったんですけどね。
carnage0216

2018/04/08 15:07

先ほども書きましたが、ここに来てからは独学とは言えないと書きました。 もう一度書きます。最初に「独学」と言っていましたが、ここに来てからは独学ではありません。 私が言っていた「独学」とはここに来る前の勉強(プログラミング言語とは何なのか、アセンブリ言語はハードによって異なるなど、簡単なCPUの原理など)を言っています。何か勘違いされていませんか? 私が「独学」に関しての説明不足が招いたことなので私の責任です。
Zuishin

2018/04/08 15:09

何度も書かなくても読んでます。話が通じないようなのでもう結構。
carnage0216

2018/04/08 15:10

そして、Zuishinさんの勘違いで、ここに来てからも私が独学しているなどと言って「episteme さんや asm さんにこれだけ付き合ってもらってよく独学なんていう恩知らずなことが言えるな」などとのことですが とんでもございません。episteme さんや asm さんがいなければ間違った知識のまま勉強したり、何も作ることができなかったでしょう。
carnage0216

2018/04/08 15:16

私もここに来てからは独学でないと何度も言っているのに、独学しているみたいに言われて嫌になります。 貴方の勘違いで嫌な気分になるのはうんざりです。申し訳ありませんが二度と私にはかかわらないでください。
Zuishin

2018/04/08 15:19

あなたの勘違いですね。 入門もしてないような状況は独学とは言えないと言ってるので。 あなたが独学でないのを認めたのは私に言われた後でしょう。 まあどうでもいいことなのでしつこく絡まないでください。
carnage0216

2018/04/08 15:25

>>あなたが独学でないのを認めたのは私に言われた後でしょう。 そうです。しかし私の言葉足らずゆえにここに来てからも独学で行っているといっているように思わせてしまいました。 >>入門もしてないような状況は独学とは言えないと言ってるので。 そうだったのですか。だとしたらわたしに非があります。 >>どうでもいいことなのでしつこく絡まないでください。 申し訳ありませんでした。
guest

0

構文エラー

#include <opencv2/core.hpp>を頭に挿入してやれば改善しそうな気がします。

起動しない

十中八九DLLが正しく参照できないエラーでしょう

  • staticlibフォルダをライブラリパスに追加する
  • dependecy walkerで参照できていないDLLを探す

あたりが対策になります。

投稿2018/03/30 06:00

asm

総合スコア15147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

carnage0216

2018/03/30 06:16

今、手元にpcがないので、帰宅次第試させて頂きます。 どうもありがとうございます。 わざわざ、実装して下さりありがとうございます。
carnage0216

2018/03/30 07:09

調べる限りstaticlibはopencvのvc10に入っているようです。私がダウンロードした2.4.13にはvc11とvc12しか入っていなかったので、他の2.xのバージョンからvc10を探してきます。
carnage0216

2018/03/30 07:11

dependecy walkerというのは便利なツールなのですか? 依存というかソースコードと関係のあるファイルを探してくれるものの様に見えます。
asm

2018/03/30 07:29

対象exeの起動時に必要なDLLを列挙し表示してくれるので 初期化エラーなどで起動しないって時の原因究明に役立つ上 exeを配布しようとするときに必要なDLLを確認したりするのに使います
carnage0216

2018/03/30 08:34

そうなのですか。 では、その便利なツールがない昔は、見つけられなかった場合すべてのdllを指定していたのでしょうね。 非効率ですが。
carnage0216

2018/03/30 10:43

API-MS-WIN-CORE-APIQUERY-L1-1-0.DLL API-MS-WIN-CORE-APIQUERY-L1-1-0.DLL API-MS-WIN-CORE-APPCOMPAT-L1-1-0.DLL API-MS-WIN-CORE-APPCOMPAT-L1-1-1.DLL API-MS-WIN-CORE-COMM-L1-1-0.DLL API-MS-WIN-CORE-CONSOLE-L1-1-0.DLL API-MS-WIN-CORE-CONSOLE-L2-1-0.DLL API-MS-WIN-CORE-CONSOLE-L3-1-0.DLL API-MS-WIN-CORE-DATETIME-L1-1-0.DLL API-MS-WIN-CORE-DATETIME-L1-1-1.DLL API-MS-WIN-CORE-DATETIME-L1-1-2.DLL API-MS-WIN-CORE-DEBUG-L1-1-0.DLL API-MS-WIN-CORE-DEBUG-L1-1-1.DLL API-MS-WIN-CORE-DELAYLOAD-L1-1-0.DLL API-MS-WIN-CORE-ERRORHANDLING-L1-1-0.DLL API-MS-WIN-CORE-ERRORHANDLING-L1-1-3.DLL API-MS-WIN-CORE-FIBERS-L1-1-0.DLL API-MS-WIN-CORE-FIBERS-L2-1-0.DLL API-MS-WIN-CORE-FIBERS-L2-1-1.DLL API-MS-WIN-CORE-FILE-L1-1-0.DLL API-MS-WIN-CORE-FILE-L1-2-0.DLL API-MS-WIN-CORE-FILE-L1-2-1.DLL API-MS-WIN-CORE-FILE-L1-2-2.DLL API-MS-WIN-CORE-FILE-L2-1-0.DLL API-MS-WIN-CORE-FILE-L2-1-1.DLL API-MS-WIN-CORE-FILE-L2-1-2.DLL API-MS-WIN-CORE-FILE-L2-1-3.DLL API-MS-WIN-CORE-HANDLE-L1-1-0.DLL API-MS-WIN-CORE-HEAP-L1-1-0.DLL API-MS-WIN-CORE-HEAP-L2-1-0.DLL API-MS-WIN-CORE-IO-L1-1-0.DLL API-MS-WIN-CORE-IO-L1-1-1.DLL API-MS-WIN-CORE-JOB-L1-1-0.DLL API-MS-WIN-CORE-LARGEINTEGER-L1-1-0.DLL API-MS-WIN-CORE-LIBRARYLOADER-L1-2-0.DLL API-MS-WIN-CORE-LIBRARYLOADER-L1-2-1.DLL API-MS-WIN-CORE-LIBRARYLOADER-L1-2-2.DLL API-MS-WIN-CORE-LIBRARYLOADER-L2-1-0.DLL API-MS-WIN-CORE-LOCALIZATION-L1-2-0.DLL API-MS-WIN-CORE-LOCALIZATION-L2-1-0.DLL API-MS-WIN-CORE-LOCALIZATION-PRIVATE-L1-1-0.DLL API-MS-WIN-CORE-MEMORY-L1-1-0.DLL API-MS-WIN-CORE-MEMORY-L1-1-1.DLL API-MS-WIN-CORE-MEMORY-L1-1-2.DLL API-MS-WIN-CORE-NAMEDPIPE-L1-1-0.DLL API-MS-WIN-CORE-NAMEDPIPE-L1-2-1.DLL API-MS-WIN-CORE-NAMEDPIPE-L1-2-2.DLL API-MS-WIN-CORE-NAMESPACE-L1-1-0.DLL API-MS-WIN-CORE-NORMALIZATION-L1-1-0.DLL API-MS-WIN-CORE-PROCESSENVIRONMENT-L1-1-0.DLL API-MS-WIN-CORE-PROCESSENVIRONMENT-L1-2-0.DLL API-MS-WIN-CORE-PROCESSSNAPSHOT-L1-1-0.DLL API-MS-WIN-CORE-PROCESSTHREADS-L1-1-0.DLL API-MS-WIN-CORE-PROCESSTHREADS-L1-1-1.DLL API-MS-WIN-CORE-PROCESSTHREADS-L1-1-2.DLL API-MS-WIN-CORE-PROCESSTHREADS-L1-1-3.DLL API-MS-WIN-CORE-PROCESSTOPOLOGY-L1-1-0.DLL API-MS-WIN-CORE-PROFILE-L1-1-0.DLL API-MS-WIN-CORE-PSAPI-ANSI-L1-1-0.DLL API-MS-WIN-CORE-PSAPI-L1-1-0.DLL API-MS-WIN-CORE-REALTIME-L1-1-0.DLL API-MS-WIN-CORE-REGISTRY-L1-1-0.DLL API-MS-WIN-CORE-RTLSUPPORT-L1-1-0.DLL API-MS-WIN-CORE-SIDEBYSIDE-L1-1-0.DLL API-MS-WIN-CORE-STRING-L1-1-0.DLL API-MS-WIN-CORE-SYNCH-L1-1-0.DLL API-MS-WIN-CORE-SYNCH-L1-2-0.DLL API-MS-WIN-CORE-SYNCH-L1-2-1.DLL API-MS-WIN-CORE-SYSINFO-L1-1-0.DLL API-MS-WIN-CORE-SYSINFO-L1-2-0.DLL API-MS-WIN-CORE-SYSINFO-L1-2-1.DLL API-MS-WIN-CORE-SYSINFO-L1-2-3.DLL API-MS-WIN-CORE-SYSTEMTOPOLOGY-L1-1-0.DLL API-MS-WIN-CORE-SYSTEMTOPOLOGY-L1-1-1.DLL API-MS-WIN-CORE-THREADPOOL-LEGACY-L1-1-0.DLL API-MS-WIN-CORE-THREADPOOL-PRIVATE-L1-1-0.DLL API-MS-WIN-CORE-TIMEZONE-L1-1-0.DLL API-MS-WIN-CORE-UTIL-L1-1-0.DLL API-MS-WIN-CORE-WINDOWSERRORREPORTING-L1-1-0.DLL API-MS-WIN-CORE-WINDOWSERRORREPORTING-L1-1-1.DLL API-MS-WIN-CORE-WINDOWSERRORREPORTING-L1-1-2.DLL API-MS-WIN-CORE-WOW64-L1-1-0.DLL API-MS-WIN-CORE-WOW64-L1-1-1.DLL API-MS-WIN-CORE-XSTATE-L2-1-0.DLL API-MS-WIN-EVENTING-PROVIDER-L1-1-0.DLL API-MS-WIN-SECURITY-APPCONTAINER-L1-1-0.DLL API-MS-WIN-SECURITY-BASE-L1-1-0.DLL API-MS-WIN-SECURITY-BASE-L1-2-0.DLL API-MS-WIN-SECURITY-SDDL-L1-1-0.DLL DISPGRAYSCALE.EXE EXT-MS-ONECORE-APPMODEL-STATEREPOSITORY-INTERNAL-L1-1-1.DLL EXT-MS-WIN-ADVAPI32-NPUSERNAME-L1-1-0.DLL EXT-MS-WIN-ADVAPI32-NTMARTA-L1-1-0.DLL EXT-MS-WIN-ADVAPI32-REGISTRY-L1-1-0.DLL EXT-MS-WIN-ADVAPI32-REGISTRY-L1-1-1.DLL EXT-MS-WIN-APPMODEL-APPEXECUTIONALIAS-L1-1-0.DLL EXT-MS-WIN-APPMODEL-DAXCORE-L1-1-0.DLL EXT-MS-WIN-APPMODEL-DAXCORE-L1-1-2.DLL EXT-MS-WIN-APPXDEPLOYMENTCLIENT-APPXDEPLOY-L1-1-0.DLL EXT-MS-WIN-APPXDEPLOYMENTCLIENT-APPXDEPLOYONECORE-L1-1-0.DLL EXT-MS-WIN-FECLIENT-ENCRYPTEDFILE-L1-1-0.DLL EXT-MS-WIN-GPAPI-GROUPPOLICY-L1-1-0.DLL EXT-MS-WIN-KERNEL32-APPCOMPAT-L1-1-0.DLL EXT-MS-WIN-KERNEL32-DATETIME-L1-1-0.DLL EXT-MS-WIN-KERNEL32-ERRORHANDLING-L1-1-0.DLL EXT-MS-WIN-KERNEL32-FILE-L1-1-0.DLL EXT-MS-WIN-KERNEL32-QUIRKS-L1-1-0.DLL EXT-MS-WIN-KERNEL32-QUIRKS-L1-1-1.DLL EXT-MS-WIN-KERNEL32-REGISTRY-L1-1-0.DLL EXT-MS-WIN-KERNEL32-SIDEBYSIDE-L1-1-0.DLL EXT-MS-WIN-KERNELBASE-PROCESSTHREAD-L1-1-0.DLL EXT-MS-WIN-MRMCORER-RESMANAGER-L1-1-0.DLL EXT-MS-WIN-NTDSAPI-ACTIVEDIRECTORYCLIENT-L1-1-0.DLL EXT-MS-WIN-NTDSAPI-ACTIVEDIRECTORYCLIENT-L1-1-1.DLL EXT-MS-WIN-NTUSER-STRING-L1-1-0.DLL EXT-MS-WIN-SECURITY-CAPAUTHZ-L1-1-1.DLL EXT-MS-WIN-SECURITY-EFSWRT-L1-1-0.DLL EXT-MS-WIN-SHELL32-SHELLCOM-L1-1-0.DLL EXT-MS-WIN-WINRT-DEVICE-ACCESS-L1-1-0.DLL KERNEL32.DLL KERNELBASE.DLL MSVCP110.DLL MSVCR110.DLL NTDLL.DLL OPENCV_CORE246.DLL OPENCV_GPU246.DLL OPENCV_HIGHGUI246.DLL 今調べたところ以上のDLLがないため実行できないと出てきました。 また、API-MS-WIN-CORE-APIQUERY-L1-1-0.DLLはWindows8のDLLのようです。 とりあえず、以上のDLLが入っているファイルを探してダウンロードします。
asm

2018/03/30 11:18

おそらく OPENCV_CORE246.DLL OPENCV_GPU246.DLL OPENCV_HIGHGUI246.DLL だけで大丈夫なはずですし、opencv\build\x64\vc14\bin的な場所にあることでしょう まず確認すべきなのはルート(今回の場合はexe)直下のDLLが全て参照できる事です。
carnage0216

2018/03/30 11:20

やってみます。どうもありがとうございます。
carnage0216

2018/03/30 15:48

なんとか実行ファイルにできました。しかし、思うように動かないので まだかけているDLLがあるのかもしれません。 あのあとプログラムを少し改良して #include <opencv2/opencv.hpp> // インクルードファイル指定 //#include <opencv2/opencv_lib.hpp> // 静的リンクライブラリの指定 #include <opencv2/gpu/gpu.hpp> #pragma comment(lib, "opencv_core2413d.lib") #pragma comment(lib, "opencv_imgproc2413d.lib") #pragma comment(lib, "opencv_highgui2413d.lib") #pragma comment(lib, "opencv_gpu2413d.lib") using namespace cv; // 名前空間の指定 int main() { cv::Mat src_img = cv::imread("C:\Users\Daito\Desktop\DTWW6svVQAEvgvk.jpg", CV_LOAD_IMAGE_GRAYSCALE); if (src_img.empty()) return -1; gpu::GpuMat gpuSrc(src_img); gpu::GpuMat gpuDst; gpu::Laplacian(gpuSrc, gpuDst, 0); cv::Mat dst(gpuDst); cv::imshow("C:\Users\Daito\Desktop\DTWW6svVQAEvgvk.jpg", src_img); cv::imshow("C:\Users\Daito\Desktop\DTWW6svVQAEvgvk.jpg", dst); waitKey(0); return 0; } にしました。 ちゃんとOPENCV_CORE2413.DLL OPENCV_GPU2413.DLL OPENCV_HIGHGUI2413.DLLは入っています。
asm

2018/03/30 15:56

リンクしてるのは#pragma comment(lib, "opencv_core2413d.lib")なのに OPENCV_CORE2413.DLLで大丈夫なのか確認が必要かなと思います あとは64bit版とx86版が混じってないか
carnage0216

2018/03/30 16:43

直して改めてリリースでビルドしたところ、実行するとプログラム終了と出てきます。 これは最初からデバッグでプログラムを組んだ方がよかったのでしょうか? あの、申し訳ないのですが64bit版とx86bit版の見分け方はあるのでしょうか?
carnage0216

2018/03/30 17:09

原因は「OpenCV Error: No GPU support (The library is compiled without CUDA support) in EmptyFuncTable::mallocPitch, file C:\builds\2_4_PackSlave-win64-vc12-shared\opencv\modules\dynamicuda\include\opencv2/dynamicuda/dynamicuda.hpp, line 126」ですね。どうやらうまくGPUが働いていないみたいです。
asm

2018/03/30 17:39 編集

> 64bit版とx86版の見分け方 Dependecy Walkerで表示した時にアイコンの脇に64と書いてあるのが64bit版 SYSTEM32フォルダ内のDLLは特殊な事やってるので混ざってもほぼ問題ないが それ以外、とくにexeと同じフォルダのDLLは混ざると起動できなくなります。 > The library is compiled without CUDA support 自分でコンパイルする必要があるみたいですね
carnage0216

2018/03/31 03:24

大変勉強になります。どうもありがとうございます。
carnage0216

2018/03/31 04:41

> The library is compiled without CUDA support に関してなのですが、CUDAのコマンドnvccでコンパイルするということでしょうか? 調べてみてもなかなかちゃんとしたものが見つからず質問いたしました。
asm

2018/03/31 05:18

何を調べたのでしょうか? OpenCVをWITH_CUDA=ONでビルドしたDLLが必要です
carnage0216

2018/03/31 05:24

だからCmakeが必要だったのですね。ちなみに、Cmakeを使わないで行うやり方はないのでしょうか? 英語での質問サイトに同じエラーの質問があったので和訳して調べていました。
asm

2018/03/31 06:22

公式サイトにもCUDA使いたければCMake使えと書いてあるし素直に従うべきでしょうね
episteme

2018/03/31 08:19

げー、CUDA-enabledでビルドしてないのかヨー OpenCVのバイナリ版はミニマム構成だからCMakeでrebuildせんと。 てか、もうさんざんやってんじゃなかったの?
episteme

2018/03/31 08:22 編集

> 調べてみてもなかなかちゃんとしたものが見つからず質問いたしました。 まず本家(ここではOpenCV.org)提供の資料を漁るのが原則。 本家以上にちゃんとしたものがあるワケねぇぢゃん。
y_waiwai

2018/03/31 08:24

(ゆーたれゆーたれw)
carnage0216

2018/03/31 15:43 編集

私の情報不足で紛らわしくさせてしまい申し訳ありません。 以前の質問で実行ファイルができたものはCmakeを使っていません。 今回に関してはCmakeを使わなくてはどうにもできないため Cmakeで作っては見たのですが、思うようにいかずいまだに実行は成功していません。(今現在も本家と手元の本を参考に作業しています) なにかパスが通っていないのではないか、必要なDLLがちゃんとあるかなど。
episteme

2018/03/31 16:31 編集

> Cmakeで作っては見たのですが、思うようにいかずいまだに実行は成功していません。 そんな重要な情報を提示せんかったら何度も何度もおんなじ指摘受けるのがオチだってことにいいかげん気づいてお願いだから。
carnage0216

2018/04/02 07:49

cmakeで生成されたソリューションファイルのOpencv.slnのビルドはうまくいったのですが、成功したものと失敗した物があるためかリリースとデバッグのフォルダに本と同じようなものが得られません。 再度リリースでビルドを行うも正常0 失敗56となります。 エラーを読むとライブラリが読み込めていないとでるので、プロパティから設定しようとしてもソースコードではないためかプロパティが設定できません(本には設定とか書いていないのでプロパティのせっていとかしなくてもこんなエラーが起きること自体おかしいのかもしれません。) エラーがこちらです。 https://pastebin.com/wW7AugNK
carnage0216

2018/04/02 07:50

opencvのバージョンは変わらずopencv 2.4.6です。
carnage0216

2018/04/03 03:11

1>------ ビルド開始: プロジェクト:プラシアンフィルタ, 構成:Release x64 ------ 1> Source.cpp 1>LINK : fatal error LNK1104: ファイル 'opencv_gpu340.lib' を開くことができません。 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ========== より、CmakeでWITH_CUDAをONにしてビルドしているのですがopencv_gpu340.libが生成されないため困っています。 それ以外のライブラリは得られています。
episteme

2018/04/03 03:23

わけわからん。OpenCV 2.4.6 のはずなのになんで 3.4.0 をリンクしてんだ?
carnage0216

2018/04/03 03:32

編集せずに書いてしまいもうしわけありません。 OpenCV 2.4.6で行っていたのですが、Cmakeでエラーが出てしまい進まなかったため、最新のCmakeと最新のopencv3.4で改めて行ったところうまくいき、ソリューションファイルを得ることができました。 しかし、いざビルドするとopencv_gpu340.libを得ることが出来ませんでした。 編集いたします。
episteme

2018/04/03 03:52

そうなるとCMakeでのCUDA設定に不備がある、もしくはCUDAがちゃんとインストールされていない(さもなくば他のなにか)。 CUDAはちゃんとインストールできてます? コマンドラインからnvccで~.cuをコンパイル/実行できます?
carnage0216

2018/04/03 04:22

はい。コマンドnvccと打ち込むと以下のエラーが出るのでちゃんと通っています。 nvcc fatal : No input files specified; use option --help for more information >> コマンドラインからnvccで~.cuをコンパイル/実行できます? やってみます。たしかライブラリの指定の仕方などがgccとにているので、簡単なプログラムでコンパイル、実行してみます。
carnage0216

2018/04/03 09:15

コマンドプロンプトの方でメモに保存したプログラムをコンパイルしたのですが、エラーが出ます。 コンパイルしたプログラムは以前にちゃんとコンパイルできたものです。 何かしらまたおかしくなっているかもしれないので再びCUDA 9.1をダウンロード、インストールします。 ちなみに、visual studioを使ってビルドしたところエラーは出ませんでした。しかし、実行ファイルが得られず何かおかしいことになっています。
carnage0216

2018/04/03 09:17

1>------ すべてのリビルド開始: プロジェクト:ConsoleApplication5, 構成: Release x64 ------ 1>stdafx.cpp 1>ConsoleApplication5.cpp 1>コード生成しています。 1>All 1 functions were compiled because no usable IPDB/IOBJ from previous compilation was found. 1>コード生成が終了しました。 1>ConsoleApplication5.vcxproj -> C:\Users\Daito\source\repos\ConsoleApplication5\x64\Release\ConsoleApplication5.exe ========== すべてリビルド: 1 正常終了、0 失敗、0 スキップ ========== より 「以前のコンパイルで使用可能なIPDB / IOBJが見つからなかったため、1つの関数がコンパイルされました。 1>コード生成が終了しました。」が原因だと思います。
carnage0216

2018/04/03 16:16

コマンドプロンプトでのエラーはhttps://pastebin.com/phDm0AJkと出てきます。他のプログラムに関しても同じようなエラーが出ます。C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../includeのヘッダファイルには標準ヘッダファイルを入れているのに構文エラーが出ます。 visual studio 2015 でもビルドしてみたところ以下のエラーが出ました。https://pastebin.com/nzXueyeG
carnage0216

2018/04/03 16:36

cudaに関してはパスもちゃんと通しました。しかし、なぜかコマンドプロンプトのコンパイルとvisual studioでのビルドが出来ません。
episteme

2018/04/03 22:51

// foo.cu #include <cuda_runtime.h> #include <device_launch_parameters.h> #include <stdio.h> __global__ void f() { printf("__global__ void f() #%d-%d\n", blockIdx.x, threadIdx.x); } int main() { f<<<2,2>>>(); } に対し、コマンドプロンプトから nvcc foo.cu -Xcompiler -wd4819 すると、a.exeが生成され、実行すると __global__ void f() #0-0 __global__ void f() #0-1 __global__ void f() #1-0 __global__ void f() #1-1 が出力されますか?
carnage0216

2018/04/04 04:48

出力されませんでした。以下のエラーが出ました。 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\w32api.h(186): warning C4005: '_EXTERN_C': マクロが再定義されました。 C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\yvals.h(560): note: '_EXTERN_C' の以前の定義を確認してください C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\string.h(137): error: this declaration has no storage class or type specifier C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\string.h(137): error: expected a ";" C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdint.h(146): error: invalid redeclaration of type name "intptr_t" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\vcruntime.h(196): here C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdint.h(151): error: invalid redeclaration of type name "uintptr_t" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\vadefs.h(28): here C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdlib.h(162): error: expected a "{" C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdlib.h(430): warning: parsing restarts here after previous syntax error C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdlib.h(431): error: identifier "__radix" is undefined C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdlib.h(431): error: identifier "__builtin_constant_p" is undefined C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdlib.h(433): error: identifier "__val" is undefined C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdlib.h(433): error: identifier "__s" is undefined C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdlib.h(433): error: no suitable constructor exists to convert from "char *" to "div_t" C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdlib.h(435): error: identifier "__s" is undefined C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdlib.h(439): error: identifier "__val" is undefined C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdlib.h(439): error: identifier "__s" is undefined C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdlib.h(439): error: no suitable constructor exists to convert from "char *" to "div_t" C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdlib.h(476): error: identifier "__builtin_constant_p" is undefined C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdlib.h(519): error: identifier "__builtin_constant_p" is undefined C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdlib.h(561): error: identifier "__builtin_constant_p" is undefined C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\time.h(116): error: invalid redeclaration of type name "time_t" C:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\ucrt\corecrt.h(523): here C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(20): error: the global scope has no "atof" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(20): error: the global scope has no "atoi" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(20): error: the global scope has no "atol" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(21): error: the global scope has no "calloc" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(22): error: the global scope has no "exit" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(22): error: the global scope has no "free" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(23): error: the global scope has no "ldiv" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(23): error: the global scope has no "malloc" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(24): error: the global scope has no "mblen" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(24): error: the global scope has no "mbstowcs" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(24): error: the global scope has no "mbtowc" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(25): error: the global scope has no "qsort" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(25): error: the global scope has no "rand" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(25): error: the global scope has no "realloc" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(26): error: the global scope has no "srand" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(26): error: the global scope has no "strtod" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(26): error: the global scope has no "strtol" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(27): error: the global scope has no "strtoul" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(28): error: the global scope has no "wcstombs" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(28): error: the global scope has no "wctomb" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(30): error: the global scope has no "lldiv_t" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(37): error: the global scope has no "atoll" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(37): error: the global scope has no "llabs" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(37): error: the global scope has no "lldiv" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(38): error: the global scope has no "strtof" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(38): error: the global scope has no "strtold" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(39): error: the global scope has no "strtoll" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(39): error: the global scope has no "strtoull" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(41): error: the global scope has no "_Exit" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(41): error: the global scope has no "at_quick_exit" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cstdlib(41): error: the global scope has no "quick_exit" C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdio.h(1): error: this declaration has no storage class or type specifier C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdio.h(1): error: identifier "c" is undefined C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdio.h(1): error: expected a ";" C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdio.h(265): warning: parsing restarts here after previous syntax error C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdio.h(268): error: expected a declaration C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdio.h(950): error: this declaration has no storage class or type specifier C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdio.h(950): error: variable "__extension__" has already been defined C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdio.h(950): error: expected a ";" C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdio.h(951): error: identifier "fpos_t" is undefined C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\stdio.h(956): error: identifier "fpos_t" is undefined
carnage0216

2018/04/04 04:49

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\math.h(349): error: expected a ")" C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\math.h(344): error: identifier "__asm__" is undefined C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\math.h(351): warning: variable "__exp" is used before its value is set C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\math.h(359): warning: linkage specification is incompatible with previous "copysign" c:\program files\nvidia gpu computing toolkit\cuda\v9.1\include\crt\math_functions.h(7195): here C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\math.h(364): error: expected a ")" C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin/../include\math.h(361): error: identifier "__asm__" is undefined C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(245): error: the global scope has no "nexttowardf" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(330): error: the global scope has no "fabsl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(335): error: the global scope has no "acosl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(340): error: the global scope has no "acoshl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(345): error: the global scope has no "asinl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(350): error: the global scope has no "asinhl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(355): error: the global scope has no "atanl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(360): error: the global scope has no "atanhl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(366): error: the global scope has no "atan2l" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(371): error: the global scope has no "cbrtl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(376): error: the global scope has no "ceill" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(382): error: the global scope has no "copysignl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(387): error: the global scope has no "cosl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(392): error: the global scope has no "coshl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(397): error: the global scope has no "erfl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(402): error: the global scope has no "erfcl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(407): error: the global scope has no "expl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(412): error: the global scope has no "exp2l" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(417): error: the global scope has no "expm1l" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(422): error: the global scope has no "fabsl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(428): error: the global scope has no "fdiml" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(433): error: the global scope has no "floorl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(439): error: the global scope has no "fmal" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(445): error: the global scope has no "fmaxl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(451): error: the global scope has no "fminl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(457): error: the global scope has no "fmodl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(463): error: the global scope has no "frexpl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(469): error: the global scope has no "hypotl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(474): error: the global scope has no "ilogbl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(480): error: the global scope has no "ldexpl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(485): error: the global scope has no "lgammal" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(490): error: the global scope has no "llrintl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(495): error: the global scope has no "llroundl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(500): error: the global scope has no "logl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(505): error: the global scope has no "log10l" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(510): error: the global scope has no "log1pl" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(515): error: the global scope has no "log2l" C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/../../VC/INCLUDE\cmath(520): error: the global scope has no "logbl" Error limit reached. 100 errors detected in the compilation of "C:/Users/Daito/AppData/Local/Temp/tmpxft_00002540_00000000-12_foo.cpp1.ii". Compilation terminated.
episteme

2018/04/04 04:53

...そーなるとマトモなbuildは期待できないね。
guest

0

ベストアンサー

https://teratail.com/questions/119177 とは別の質問ですか? 何が違うんですか?

投稿2018/03/30 04:20

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mkgrei

2018/03/30 04:22

opencv3からopencv2に変わっていませんか…
episteme

2018/03/30 04:24

いや、どっちも cv2 みたいよ?
carnage0216

2018/03/30 04:31

自分の質問でありながらちゃんと把握できていませんでした。 リンク先の質問ではOPENCV3ですが今回の質問ではOPENCV2を使っています。 https://teratail.com/questions/119177 とは扱っているソースコードが同じだけで質問の趣旨や内容、使っているツールが違います。 過去の質問とは内容は違うのですが、ソースコードのみ同じなので載せたほうが良いかと思ったのですがかえってわかりにくくなってしましました。
episteme

2018/03/30 04:33

ってことは、OpenCV3ならちゃんとコンパイル/実行できるのね?
carnage0216

2018/03/30 04:38

そうかもしれません。 とりあえずhttps://github.com/pothub/potwiki/wiki/VisualStudio のサイトを参考に頑張ってみます。
episteme

2018/03/30 04:41

「かもしれない」ってなによ。前の質問は解決してるんじゃないの?
carnage0216

2018/03/30 04:47

https://teratail.com/questions/119177 に関しては厳密にいえば解決していません。 実行ファイルは得られたのですが実行しても何も起きなかったため解決は出来ていませんでした。 解決していないにも関わらず実行ファイルが得られて実行する前にベストアンサーを付けてしまったため、私の早とちりで失敗にもかかわらずベストアンサーを取るのは失礼だと思いそのままにしていました。 ややこしいことをしてしまい申し訳ありませんでした。
y_waiwai

2018/03/31 04:45

まー、IDをみればどんな質問者かはわかると思うので、それで回答するかどうかを判断するのがよろしいかと
carnage0216

2018/03/31 04:47

なるほど、確かにその方がいいですね。 今後はそうさせていただきます。
y_waiwai

2018/03/31 04:53

(おまえにいってんじゃねーw)
carnage0216

2018/03/31 04:55

え。。。。では誰に、ですか? なにか私はやらかしてしまったのでしょうか?
episteme

2018/04/01 06:51

ともかくも、CUDAが使えるOpenCVを用意すること。 それが大前提。
carnage0216

2018/04/01 12:19

Cmake使ってOpenCV.slnが得られ、OpenCV.slnを開いてビルドするして得られるlibやdllがCUDAで使えるOpenCVのlibやdllなのでしょうか?
episteme

2018/04/01 12:44

CMakeに適切な設定(WITH_CUDAそのほかモロモロ)を与えたうえで、ね。
guest

0

直接は関係ないかもしれませんが、インクルードパスにスラッシュとバックスラッシュが混じっています。
https://stackoverflow.com/questions/5790161/is-the-backslash-acceptable-in-c-and-c-include-directives


結局、cv::cuda::GpuMatなのですか、それともcv::gpu::GpuMatなのですか?
opencv2なのですか、opencv3なのですか?

投稿2018/03/30 03:51

mkgrei

総合スコア8560

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

carnage0216

2018/03/30 03:54

cv::gpu::GpuMatであり、opencv2です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問