OpenCV 3.0に果敢に挑戦し続けてみる

個人的な趣味の一環として、OpenCV 3.0がらみの情報をまとめてみる。「引用はいぃんよー、無断転載はあかんよー」ということで。

OpenCV 3.0.0からmodule/oclがなくなりますよ(釣り記事)

OpenCV 3.0.0-devを弄って遊んでいるけど、そういえばmodule/oclなくなっちゃってますよ、っと。

 

もともとはこんな感じであったんですけどね。

http://docs.opencv.org/2.4.8/modules/ocl/doc/introduction.html

 

その代わりに、各モジュールの下におかれるようになった。多分、OpenCLが使える環境だったら自動的に切り替わるから気にする必要は無い、っていうことなのかなあ・・・?どんな環境で使えるのかの記載が無い、というのが一番困ったもんだーと思いつつ。

 

 

OpenCV 2.4.8の場合は(殆ど)oclの下に

find . -name "*.cl" | sort
./modules/nonfree/src/opencl/surf.cl
./modules/ocl/src/opencl/arithm_LUT.cl
./modules/ocl/src/opencl/arithm_absdiff_nonsaturate.cl
./modules/ocl/src/opencl/arithm_add.cl
./modules/ocl/src/opencl/arithm_addWeighted.cl
./modules/ocl/src/opencl/arithm_add_mask.cl
./modules/ocl/src/opencl/arithm_add_scalar.cl
./modules/ocl/src/opencl/arithm_add_scalar_mask.cl
:
:

OpenCV 3.0.0-devの場合はそれぞれのモジュールの下に

find . -name "*.cl" | sort
./modules/core/src/opencl/arithm.cl
./modules/core/src/opencl/convert.cl
./modules/core/src/opencl/copymakeborder.cl
./modules/core/src/opencl/copyset.cl
./modules/core/src/opencl/flip.cl
./modules/core/src/opencl/inrange.cl
./modules/core/src/opencl/lut.cl
./modules/core/src/opencl/mixchannels.cl
./modules/core/src/opencl/mulspectrums.cl
./modules/core/src/opencl/reduce.cl
:
:
:

 

というか、なんか一部まだoclMatの記載残ってるけど大丈夫なの?

 

grep oclMat . -r
./modules/nonfree/perf/perf_surf.ocl.cpp:    oclMat d_keypoints;
./modules/nonfree/perf/perf_surf.ocl.cpp:    oclMat d_descriptors;
./modules/nonfree/perf/perf_surf.ocl.cpp:        oclMat d_src(img);
./modules/nonfree/perf/perf_surf.ocl.cpp:        d_surf(d_src, oclMat(), d_keypoints, d_descriptors);
./modules/nonfree/perf/perf_surf.ocl.cpp:    oclMat d_keypoints;
./modules/nonfree/perf/perf_surf.ocl.cpp:    oclMat d_descriptors;
./modules/nonfree/perf/perf_surf.ocl.cpp:    oclMat d_src(img);
./modules/nonfree/perf/perf_surf.ocl.cpp:    TEST_CYCLE() d_surf(d_src, oclMat(), d_keypoints, d_descriptors);
./modules/nonfree/test/test_surf.ocl.cpp:    surf(cv::ocl::oclMat(image), cv::ocl::oclMat(), keypoints);
./modules/nonfree/test/test_surf.ocl.cpp:    cv::ocl::oclMat descriptors;
./modules/nonfree/test/test_surf.ocl.cpp:    surf(cv::ocl::oclMat(image), cv::ocl::oclMat(), keypoints, descriptors, true);
./buildTBB/doc/fake-root/samples/cpp/points_classifier.cpp:    cv::ocl::oclMat testSample_ocl, reslut_ocl;
./samples/cpp/points_classifier.cpp:    cv::ocl::oclMat testSample_ocl, reslut_ocl;