質問: タイトルの通りなのですが、CPUとOpenCLは大体同じになりますがCUDAですと持ってくる領域が大きくなります。 CPUと結果を合わせたいのですがコンパイルオプションとかそういうもので何とかする方法をご存知のかたいらっしゃいませんか?
回答: 質問をするときは最低限のマナーとして、まず環境に関する情報を詳しく書くようにしてください。 OS、デバイスドライバー、IDE、SDK、ライブラリなどのバージョン、ハードウェアの型番など、提示すべき情報は多岐に渡ります。 技術系メーリングリストで質問するときのパターン・ランゲージ また、現象を再現することのできる実際のコードを可能な限り提示するべきです。回答者はエスパーではありません。 OpenCVのCascade Classifierは、CPUバージョンは改良・改善が続けられているものの、GPUバージョン(CUDA実装)は同等のメンテがなされずに実装が乖離しているらしいです。おそらく現時点での最新版OpenCV 3.4.1でも状況は同じものと思われます。 Different results of CascadeClasifier on CPU and GPU · Issue #6693 · opencv/opencv OpenCV内の他の画像処理関数に関しても、CUDA版はCPU版/OpenCL版と比べてサポートするフォーマットが限定されていたりと、積極的なメンテはされていません。そもそもCUDAはNVIDIAハードウェアしかサポートしないため、OpenCLをT-APIとして取り込んだ現在のOpenCVのクロスプラットフォーム設計方針とは相容れないからです。 ちなみにOpenCVはともかくとして、OpenCLはれっきとした規格名でありトレードマークなので、大文字・小文字をきっちり区別して正式名を書くようにしてください。