From 2756ae205190afd8ced32750111e9219de44c9ba Mon Sep 17 00:00:00 2001 From: Alexander Mordvintsev Date: Tue, 29 Apr 2014 16:57:19 +0400 Subject: [PATCH] exposed OpenCL-control functions to python --- modules/core/include/opencv2/core/ocl.hpp | 12 ++++++------ modules/python/CMakeLists.txt | 1 + modules/python/src2/gen2.py | 3 ++- modules/python/src2/hdr_parser.py | 1 + 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/modules/core/include/opencv2/core/ocl.hpp b/modules/core/include/opencv2/core/ocl.hpp index b751c51..99fa83a 100644 --- a/modules/core/include/opencv2/core/ocl.hpp +++ b/modules/core/include/opencv2/core/ocl.hpp @@ -46,12 +46,12 @@ namespace cv { namespace ocl { -CV_EXPORTS bool haveOpenCL(); -CV_EXPORTS bool useOpenCL(); -CV_EXPORTS bool haveAmdBlas(); -CV_EXPORTS bool haveAmdFft(); -CV_EXPORTS void setUseOpenCL(bool flag); -CV_EXPORTS void finish(); +CV_EXPORTS_W bool haveOpenCL(); +CV_EXPORTS_W bool useOpenCL(); +CV_EXPORTS_W bool haveAmdBlas(); +CV_EXPORTS_W bool haveAmdFft(); +CV_EXPORTS_W void setUseOpenCL(bool flag); +CV_EXPORTS_W void finish(); class CV_EXPORTS Context; class CV_EXPORTS Device; diff --git a/modules/python/CMakeLists.txt b/modules/python/CMakeLists.txt index 894c605..f796a97 100644 --- a/modules/python/CMakeLists.txt +++ b/modules/python/CMakeLists.txt @@ -25,6 +25,7 @@ set(opencv_hdrs "${OPENCV_MODULE_opencv_core_LOCATION}/include/opencv2/core/types.hpp" "${OPENCV_MODULE_opencv_core_LOCATION}/include/opencv2/core/persistence.hpp" "${OPENCV_MODULE_opencv_core_LOCATION}/include/opencv2/core/utility.hpp" + "${OPENCV_MODULE_opencv_core_LOCATION}/include/opencv2/core/ocl.hpp" "${OPENCV_MODULE_opencv_flann_LOCATION}/include/opencv2/flann/miniflann.hpp" "${OPENCV_MODULE_opencv_imgproc_LOCATION}/include/opencv2/imgproc.hpp" "${OPENCV_MODULE_opencv_video_LOCATION}/include/opencv2/video/background_segm.hpp" diff --git a/modules/python/src2/gen2.py b/modules/python/src2/gen2.py index 3d13008..b613ccd 100755 --- a/modules/python/src2/gen2.py +++ b/modules/python/src2/gen2.py @@ -776,7 +776,7 @@ class PythonWrapperGenerator(object): classname = bareclassname = "" name = decl[0] dpos = name.rfind(".") - if dpos >= 0 and name[:dpos] != "cv": + if dpos >= 0 and name[:dpos] not in ["cv", "cv.ocl"]: classname = bareclassname = re.sub(r"^cv\.", "", name[:dpos]) name = name[dpos+1:] dpos = classname.rfind(".") @@ -785,6 +785,7 @@ class PythonWrapperGenerator(object): classname = classname.replace(".", "_") cname = name name = re.sub(r"^cv\.", "", name) + name = name.replace(".", "_") isconstructor = cname == bareclassname cname = cname.replace(".", "::") isclassmethod = False diff --git a/modules/python/src2/hdr_parser.py b/modules/python/src2/hdr_parser.py index b6f21c3..78981ed 100755 --- a/modules/python/src2/hdr_parser.py +++ b/modules/python/src2/hdr_parser.py @@ -6,6 +6,7 @@ import os, sys, re, string # the list only for debugging. The real list, used in the real OpenCV build, is specified in CMakeLists.txt opencv_hdr_list = [ "../../core/include/opencv2/core.hpp", +"../../core/include/opencv2/core/ocl.hpp", "../../flann/include/opencv2/flann/miniflann.hpp", "../../ml/include/opencv2/ml.hpp", "../../imgproc/include/opencv2/imgproc.hpp", -- 2.7.4