Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
569b1ad5
O
Opencv
项目概览
Greenplum
/
Opencv
11 个月 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
569b1ad5
编写于
7月 12, 2011
作者:
V
Vadim Pisarevsky
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
embeded cv Python module into cv2.
上级
9b464199
变更
55
隐藏空白更改
内联
并排
Showing
55 changed file
with
171 addition
and
241 deletion
+171
-241
CMakeLists.txt
CMakeLists.txt
+1
-1
modules/CMakeLists.txt
modules/CMakeLists.txt
+1
-1
modules/core/doc/old_basic_structures.rst
modules/core/doc/old_basic_structures.rst
+1
-1
modules/python/CMakeLists.txt
modules/python/CMakeLists.txt
+24
-44
modules/python/src2/api
modules/python/src2/api
+0
-0
modules/python/src2/cv2.cpp
modules/python/src2/cv2.cpp
+6
-4
modules/python/src2/cv2.cv.hpp
modules/python/src2/cv2.cv.hpp
+32
-144
modules/python/src2/defs
modules/python/src2/defs
+0
-0
modules/python/src2/gen.py
modules/python/src2/gen.py
+0
-0
modules/python/test/calchist.py
modules/python/test/calchist.py
+1
-1
modules/python/test/camera_calibration.py
modules/python/test/camera_calibration.py
+1
-1
modules/python/test/findstereocorrespondence.py
modules/python/test/findstereocorrespondence.py
+1
-1
modules/python/test/goodfeatures.py
modules/python/test/goodfeatures.py
+1
-1
modules/python/test/leak1.py
modules/python/test/leak1.py
+1
-1
modules/python/test/leak2.py
modules/python/test/leak2.py
+1
-1
modules/python/test/leak3.py
modules/python/test/leak3.py
+1
-1
modules/python/test/leak4.py
modules/python/test/leak4.py
+1
-1
modules/python/test/precornerdetect.py
modules/python/test/precornerdetect.py
+1
-1
modules/python/test/test.py
modules/python/test/test.py
+1
-1
modules/python/test/ticket_6.py
modules/python/test/ticket_6.py
+1
-1
modules/python/test/tickets.py
modules/python/test/tickets.py
+1
-1
modules/video/test/test_main.cpp
modules/video/test/test_main.cpp
+61
-1
samples/python/camera.py
samples/python/camera.py
+1
-1
samples/python/camshift.py
samples/python/camshift.py
+1
-1
samples/python/chessboard.py
samples/python/chessboard.py
+1
-1
samples/python/contours.py
samples/python/contours.py
+1
-1
samples/python/convexhull.py
samples/python/convexhull.py
+1
-1
samples/python/cv20squares.py
samples/python/cv20squares.py
+1
-1
samples/python/cvutils.py
samples/python/cvutils.py
+1
-1
samples/python/delaunay.py
samples/python/delaunay.py
+1
-1
samples/python/demhist.py
samples/python/demhist.py
+1
-1
samples/python/dft.py
samples/python/dft.py
+1
-1
samples/python/distrans.py
samples/python/distrans.py
+1
-1
samples/python/dmtx.py
samples/python/dmtx.py
+1
-1
samples/python/drawing.py
samples/python/drawing.py
+1
-1
samples/python/edge.py
samples/python/edge.py
+1
-1
samples/python/facedetect.py
samples/python/facedetect.py
+1
-1
samples/python/ffilldemo.py
samples/python/ffilldemo.py
+1
-1
samples/python/fitellipse.py
samples/python/fitellipse.py
+1
-1
samples/python/houghlines.py
samples/python/houghlines.py
+1
-1
samples/python/inpaint.py
samples/python/inpaint.py
+1
-1
samples/python/kalman.py
samples/python/kalman.py
+1
-1
samples/python/kmeans.py
samples/python/kmeans.py
+1
-1
samples/python/laplace.py
samples/python/laplace.py
+1
-1
samples/python/lkdemo.py
samples/python/lkdemo.py
+1
-1
samples/python/logpolar.py
samples/python/logpolar.py
+1
-1
samples/python/minarea.py
samples/python/minarea.py
+1
-1
samples/python/minidemo.py
samples/python/minidemo.py
+1
-1
samples/python/morphology.py
samples/python/morphology.py
+1
-1
samples/python/motempl.py
samples/python/motempl.py
+1
-1
samples/python/numpy_array.py
samples/python/numpy_array.py
+1
-1
samples/python/numpy_warhol.py
samples/python/numpy_warhol.py
+1
-1
samples/python/pyramid_segmentation.py
samples/python/pyramid_segmentation.py
+1
-1
samples/python/squares.py
samples/python/squares.py
+1
-1
samples/python/watershed.py
samples/python/watershed.py
+1
-1
未找到文件。
CMakeLists.txt
浏览文件 @
569b1ad5
...
...
@@ -1611,7 +1611,7 @@ status("")
status
(
" Interfaces:"
)
status
(
" Python:"
BUILD_NEW_PYTHON_SUPPORT THEN YES ELSE NO
)
status
(
" Python interpreter:"
PYTHON_EXECUTABLE THEN
"
${
PYTHON_EXECUTABLE
}
(ver
${
PYTHON_VERSION_MAJOR_MINOR
}
)"
ELSE NO
)
status
(
" Python numpy:"
PYTHON_USE_NUMPY THEN YES ELSE
"NO (Python
interface will not cover OpenCV 2.x API
)"
)
status
(
" Python numpy:"
PYTHON_USE_NUMPY THEN YES ELSE
"NO (Python
wrappers will not be generated
)"
)
if
(
ANDROID AND ANDROID_API_LEVEL LESS 8
)
status
(
" Java:"
"NO (Java API requires Android API level 8 or higher)"
)
else
()
...
...
modules/CMakeLists.txt
浏览文件 @
569b1ad5
...
...
@@ -24,7 +24,7 @@ add_subdirectory(contrib)
add_subdirectory
(
ml
)
add_subdirectory
(
objdetect
)
if
(
PYTHONLIBS_FOUND AND BUILD_NEW_PYTHON_SUPPORT
)
if
(
PYTHONLIBS_FOUND AND BUILD_NEW_PYTHON_SUPPORT
AND PYTHON_USE_NUMPY
)
add_subdirectory
(
python
)
endif
()
...
...
modules/core/doc/old_basic_structures.rst
浏览文件 @
569b1ad5
...
...
@@ -1729,7 +1729,7 @@ For example, `NumPy <http://numpy.scipy.org/>`_ arrays support the array interfa
.. code-block::python
>>> import cv, numpy
>>> import cv
2.cv as cv
, numpy
>>> a = numpy.ones((480, 640))
>>> mat = cv.fromarray(a)
>>> print cv.GetDims(mat), cv.CV_MAT_CN(cv.GetElemType(mat))
...
...
modules/python/CMakeLists.txt
浏览文件 @
569b1ad5
...
...
@@ -5,7 +5,6 @@ project(opencv_python)
include_directories
(
${
PYTHON_INCLUDE_PATH
}
)
include_directories
(
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/src1"
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/src2"
"
${
OpenCV_SOURCE_DIR
}
/modules/core/include"
"
${
OpenCV_SOURCE_DIR
}
/modules/imgproc/include"
...
...
@@ -37,37 +36,6 @@ if(MSVC)
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
/W3"
)
endif
()
add_custom_command
(
OUTPUT
${
CMAKE_CURRENT_BINARY_DIR
}
/generated0.i
COMMAND
${
PYTHON_EXECUTABLE
}
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/src1/gen.py"
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/src1"
DEPENDS
${
CMAKE_CURRENT_SOURCE_DIR
}
/src1/api
DEPENDS
${
CMAKE_CURRENT_SOURCE_DIR
}
/src1/defs
DEPENDS
${
CMAKE_CURRENT_SOURCE_DIR
}
/src1/gen.py
)
set
(
cv_target
"opencv_python"
)
add_library
(
${
cv_target
}
SHARED src1/cv.cpp
${
CMAKE_CURRENT_BINARY_DIR
}
/generated0.i
)
target_link_libraries
(
${
cv_target
}
${
PYTHON_LIBRARIES
}
opencv_core opencv_imgproc opencv_video opencv_ml opencv_features2d opencv_highgui opencv_calib3d opencv_objdetect opencv_legacy opencv_contrib
)
set_target_properties
(
${
cv_target
}
PROPERTIES PREFIX
""
)
set_target_properties
(
${
cv_target
}
PROPERTIES OUTPUT_NAME
"cv"
)
execute_process
(
COMMAND
${
PYTHON_EXECUTABLE
}
-c
"import distutils.sysconfig; print distutils.sysconfig.get_config_var('SO')"
RESULT_VARIABLE PYTHON_CVPY_PROCESS
OUTPUT_VARIABLE CVPY_SUFFIX
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set_target_properties
(
${
cv_target
}
PROPERTIES SUFFIX
${
CVPY_SUFFIX
}
)
if
(
MSVC AND NOT BUILD_SHARED_LIBS
)
set_target_properties
(
${
cv_target
}
PROPERTIES LINK_FLAGS
"/NODEFAULTLIB:atlthunk.lib /NODEFAULTLIB:atlsd.lib /DEBUG"
)
endif
()
set
(
cvpymodules
${
cv_target
}
)
if
(
PYTHON_USE_NUMPY
)
set
(
cv2_generated_hdrs
"
${
CMAKE_CURRENT_BINARY_DIR
}
/pyopencv_generated_funcs.h"
"
${
CMAKE_CURRENT_BINARY_DIR
}
/pyopencv_generated_func_tab.h"
...
...
@@ -75,28 +43,41 @@ set(cv2_generated_hdrs
"
${
CMAKE_CURRENT_BINARY_DIR
}
/pyopencv_generated_type_reg.h"
"
${
CMAKE_CURRENT_BINARY_DIR
}
/pyopencv_generated_const_reg.h"
)
add_custom_command
(
OUTPUT
${
cv2_generated_hdrs
}
COMMAND
${
PYTHON_EXECUTABLE
}
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/src2/gen2.py"
${
CMAKE_CURRENT_BINARY_DIR
}
${
opencv_hdrs
}
DEPENDS
${
CMAKE_CURRENT_SOURCE_DIR
}
/src2/gen2.py
DEPENDS
${
CMAKE_CURRENT_SOURCE_DIR
}
/src2/hdr_parser.py
DEPENDS
${
opencv_hdrs
}
)
OUTPUT
${
CMAKE_CURRENT_BINARY_DIR
}
/generated0.i
COMMAND
${
PYTHON_EXECUTABLE
}
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/src2/gen.py"
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/src2"
DEPENDS
${
CMAKE_CURRENT_SOURCE_DIR
}
/src2/api
DEPENDS
${
CMAKE_CURRENT_SOURCE_DIR
}
/src2/defs
DEPENDS
${
CMAKE_CURRENT_SOURCE_DIR
}
/src2/gen.py
)
set
(
cv2_target
"opencv2_python"
)
add_library
(
${
cv2_target
}
SHARED src2/cv2.cpp src2/opencv_extra_api.hpp
${
cv2_generated_hdrs
}
)
add_custom_command
(
OUTPUT
${
cv2_generated_hdrs
}
COMMAND
${
PYTHON_EXECUTABLE
}
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/src2/gen2.py"
${
CMAKE_CURRENT_BINARY_DIR
}
${
opencv_hdrs
}
DEPENDS
${
CMAKE_CURRENT_SOURCE_DIR
}
/src2/gen2.py
DEPENDS
${
CMAKE_CURRENT_SOURCE_DIR
}
/src2/hdr_parser.py
DEPENDS
${
opencv_hdrs
}
)
set
(
cv2_target
"opencv_python"
)
add_library
(
${
cv2_target
}
SHARED src2/cv2.cpp
${
CMAKE_CURRENT_BINARY_DIR
}
/generated0.i src2/opencv_extra_api.hpp
${
cv2_generated_hdrs
}
src2/cv2.cv.hpp
)
target_link_libraries
(
${
cv2_target
}
${
PYTHON_LIBRARIES
}
opencv_core opencv_imgproc opencv_video opencv_ml opencv_features2d opencv_highgui opencv_calib3d opencv_objdetect opencv_legacy opencv_contrib
)
set_target_properties
(
${
cv2_target
}
PROPERTIES PREFIX
""
)
set_target_properties
(
${
cv2_target
}
PROPERTIES OUTPUT_NAME
"cv2"
)
execute_process
(
COMMAND
${
PYTHON_EXECUTABLE
}
-c
"import distutils.sysconfig; print distutils.sysconfig.get_config_var('SO')"
RESULT_VARIABLE PYTHON_CVPY_PROCESS
OUTPUT_VARIABLE CVPY_SUFFIX
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set_target_properties
(
${
cv2_target
}
PROPERTIES SUFFIX
${
CVPY_SUFFIX
}
)
if
(
MSVC AND NOT BUILD_SHARED_LIBS
)
set_target_properties
(
${
cv2_target
}
PROPERTIES LINK_FLAGS
"/NODEFAULTLIB:atlthunk.lib /NODEFAULTLIB:atlsd.lib /DEBUG"
)
endif
()
set
(
cvpymodules
${
cvpymodules
}
${
cv2_target
}
)
endif
()
set
(
cvpymodules
${
cv2_target
}
)
if
(
WIN32
)
install
(
TARGETS
${
cvpymodules
}
...
...
@@ -105,7 +86,6 @@ if(WIN32)
ARCHIVE DESTINATION
"Python
${
PYTHON_VERSION_MAJOR_MINOR
}
/Lib/site-packages"
COMPONENT main
)
else
()
#install(FILES ${LIBRARY_OUTPUT_PATH}/cv${CVPY_SUFFIX} DESTINATION ${PYTHON_PACKAGES_PATH})
install
(
TARGETS
${
cvpymodules
}
RUNTIME DESTINATION
${
PYTHON_PACKAGES_PATH
}
COMPONENT main
LIBRARY DESTINATION
${
PYTHON_PACKAGES_PATH
}
COMPONENT main
...
...
modules/python/src
1
/api
→
modules/python/src
2
/api
浏览文件 @
569b1ad5
文件已移动
modules/python/src2/cv2.cpp
浏览文件 @
569b1ad5
...
...
@@ -833,6 +833,8 @@ static int to_ok(PyTypeObject *to)
return
(
PyType_Ready
(
to
)
==
0
);
}
#include "cv2.cv.hpp"
extern
"C"
#if defined WIN32 || defined _WIN32
__declspec
(
dllexport
)
...
...
@@ -848,16 +850,17 @@ void initcv2()
#include "pyopencv_generated_type_reg.h"
#endif
PyObject
*
m
=
Py_InitModule
(
MODULESTR
""
,
methods
);
PyObject
*
m
=
Py_InitModule
(
MODULESTR
,
methods
);
PyObject
*
d
=
PyModule_GetDict
(
m
);
PyDict_SetItemString
(
d
,
"__version__"
,
PyString_FromString
(
"$Rev: 4557 $"
));
opencv_error
=
PyErr_NewException
((
char
*
)
MODULESTR
".error"
,
NULL
,
NULL
);
PyDict_SetItemString
(
d
,
"error"
,
opencv_error
);
PyObject
*
cv_m
=
init_cv
();
// AFAIK the only floating-point constant
PyDict_SetItemString
(
d
,
"CV_PI"
,
PyFloat_FromDouble
(
CV_PI
));
PyDict_SetItemString
(
d
,
"cv"
,
cv_m
);
#define PUBLISH(I) PyDict_SetItemString(d, #I, PyInt_FromLong(I))
#define PUBLISHU(I) PyDict_SetItemString(d, #I, PyLong_FromUnsignedLong(I))
...
...
@@ -942,7 +945,6 @@ void initcv2()
PUBLISH
(
CV_AA
);
#include "pyopencv_generated_const_reg.h"
}
modules/python/src
1/cv.c
pp
→
modules/python/src
2/cv2.cv.h
pp
浏览文件 @
569b1ad5
#include <Python.h>
#include "opencv2/legacy/legacy.hpp"
#include "opencv2/legacy/compat.hpp"
#include <assert.h>
#include "opencv/cxcore.h"
#include "opencv/cv.h"
#include "opencv/cvaux.h"
#include "opencv/cvwimage.h"
#include "opencv/highgui.h"
#define MODULESTR "cv"
static
PyObject
*
opencv_error
;
#define OLD_MODULESTR "cv2.cv"
struct
memtrack_t
{
PyObject_HEAD
...
...
@@ -168,21 +159,6 @@ static void translate_error_to_exception(void)
/************************************************************************/
static
int
failmsg
(
const
char
*
fmt
,
...)
{
char
str
[
1000
];
va_list
ap
;
va_start
(
ap
,
fmt
);
vsnprintf
(
str
,
sizeof
(
str
),
fmt
,
ap
);
va_end
(
ap
);
PyErr_SetString
(
PyExc_TypeError
,
str
);
return
0
;
}
/************************************************************************/
/* These get/setters are polymorphic, used in both iplimage and cvmat */
static
PyObject
*
PyObject_FromCvScalar
(
CvScalar
s
,
int
type
)
...
...
@@ -355,7 +331,7 @@ static PyMappingMethods iplimage_as_map = {
static
PyTypeObject
iplimage_Type
=
{
PyObject_HEAD_INIT
(
&
PyType_Type
)
0
,
/*size*/
MODULESTR
".iplimage"
,
/*name*/
OLD_
MODULESTR
".iplimage"
,
/*name*/
sizeof
(
iplimage_t
),
/*basicsize*/
};
...
...
@@ -665,7 +641,7 @@ static PyMappingMethods cvmat_as_map = {
static
PyTypeObject
cvmat_Type
=
{
PyObject_HEAD_INIT
(
&
PyType_Type
)
0
,
/*size*/
MODULESTR
".cvmat"
,
/*name*/
OLD_
MODULESTR
".cvmat"
,
/*name*/
sizeof
(
cvmat_t
),
/*basicsize*/
};
...
...
@@ -830,7 +806,7 @@ static PyMappingMethods cvmatnd_as_map = {
static
PyTypeObject
cvmatnd_Type
=
{
PyObject_HEAD_INIT
(
&
PyType_Type
)
0
,
/*size*/
MODULESTR
".cvmatnd"
,
/*name*/
OLD_
MODULESTR
".cvmatnd"
,
/*name*/
sizeof
(
cvmatnd_t
),
/*basicsize*/
};
...
...
@@ -862,7 +838,7 @@ static void cvhistogram_dealloc(PyObject *self)
static
PyTypeObject
cvhistogram_Type
=
{
PyObject_HEAD_INIT
(
&
PyType_Type
)
0
,
/*size*/
MODULESTR
".cvhistogram"
,
/*name*/
OLD_
MODULESTR
".cvhistogram"
,
/*name*/
sizeof
(
cvhistogram_t
),
/*basicsize*/
};
...
...
@@ -915,7 +891,7 @@ static PyObject *cvlineiterator_next(PyObject *o)
static
PyTypeObject
cvlineiterator_Type
=
{
PyObject_HEAD_INIT
(
&
PyType_Type
)
0
,
/*size*/
MODULESTR
".cvlineiterator"
,
/*name*/
OLD_
MODULESTR
".cvlineiterator"
,
/*name*/
sizeof
(
cvlineiterator_t
),
/*basicsize*/
};
...
...
@@ -958,7 +934,7 @@ static void memtrack_dealloc(PyObject *self)
static
PyTypeObject
memtrack_Type
=
{
PyObject_HEAD_INIT
(
&
PyType_Type
)
0
,
/*size*/
MODULESTR
".memtrack"
,
/*name*/
OLD_
MODULESTR
".memtrack"
,
/*name*/
sizeof
(
memtrack_t
),
/*basicsize*/
};
...
...
@@ -1005,7 +981,7 @@ static void cvmemstorage_dealloc(PyObject *self)
static
PyTypeObject
cvmemstorage_Type
=
{
PyObject_HEAD_INIT
(
&
PyType_Type
)
0
,
/*size*/
MODULESTR
".cvmemstorage"
,
/*name*/
OLD_
MODULESTR
".cvmemstorage"
,
/*name*/
sizeof
(
cvmemstorage_t
),
/*basicsize*/
};
...
...
@@ -1021,7 +997,7 @@ static void cvmemstorage_specials(void)
static
PyTypeObject
cvfont_Type
=
{
PyObject_HEAD_INIT
(
&
PyType_Type
)
0
,
/*size*/
MODULESTR
".cvfont"
,
/*name*/
OLD_
MODULESTR
".cvfont"
,
/*name*/
sizeof
(
cvfont_t
),
/*basicsize*/
};
...
...
@@ -1034,7 +1010,7 @@ static void cvfont_specials(void) { }
static
PyTypeObject
cvrng_Type
=
{
PyObject_HEAD_INIT
(
&
PyType_Type
)
0
,
/*size*/
MODULESTR
".cvrng"
,
/*name*/
OLD_
MODULESTR
".cvrng"
,
/*name*/
sizeof
(
cvrng_t
),
/*basicsize*/
};
...
...
@@ -1049,7 +1025,7 @@ static void cvrng_specials(void)
static
PyTypeObject
cvcontourtree_Type
=
{
PyObject_HEAD_INIT
(
&
PyType_Type
)
0
,
/*size*/
MODULESTR
".cvcontourtree"
,
/*name*/
OLD_
MODULESTR
".cvcontourtree"
,
/*name*/
sizeof
(
cvcontourtree_t
),
/*basicsize*/
};
...
...
@@ -1063,7 +1039,7 @@ static void cvcontourtree_specials(void) { }
static
PyTypeObject
cvsubdiv2dedge_Type
=
{
PyObject_HEAD_INIT
(
&
PyType_Type
)
0
,
/*size*/
MODULESTR
".cvsubdiv2dedge"
,
/*name*/
OLD_
MODULESTR
".cvsubdiv2dedge"
,
/*name*/
sizeof
(
cvsubdiv2dedge_t
),
/*basicsize*/
};
...
...
@@ -1246,7 +1222,7 @@ static PyMappingMethods cvseq_mapping = {
static
PyTypeObject
cvseq_Type
=
{
PyObject_HEAD_INIT
(
&
PyType_Type
)
0
,
/*size*/
MODULESTR
".cvseq"
,
/*name*/
OLD_
MODULESTR
".cvseq"
,
/*name*/
sizeof
(
cvseq_t
),
/*basicsize*/
};
...
...
@@ -1294,7 +1270,7 @@ static void cvset_dealloc(PyObject *self)
static
PyTypeObject
cvset_Type
=
{
PyObject_HEAD_INIT
(
&
PyType_Type
)
0
,
/*size*/
MODULESTR
".cvset"
,
/*name*/
OLD_
MODULESTR
".cvset"
,
/*name*/
sizeof
(
cvset_t
),
/*basicsize*/
};
...
...
@@ -1334,7 +1310,7 @@ static void cvset_specials(void)
static
PyTypeObject
cvsubdiv2d_Type
=
{
PyObject_HEAD_INIT
(
&
PyType_Type
)
0
,
/*size*/
MODULESTR
".cvsubdiv2d"
,
/*name*/
OLD_
MODULESTR
".cvsubdiv2d"
,
/*name*/
sizeof
(
cvsubdiv2d_t
),
/*basicsize*/
};
...
...
@@ -1365,7 +1341,7 @@ static void cvsubdiv2d_specials(void)
static
PyTypeObject
cvsubdiv2dpoint_Type
=
{
PyObject_HEAD_INIT
(
&
PyType_Type
)
0
,
/*size*/
MODULESTR
".cvsubdiv2dpoint"
,
/*name*/
OLD_
MODULESTR
".cvsubdiv2dpoint"
,
/*name*/
sizeof
(
cvsubdiv2dpoint_t
),
/*basicsize*/
};
...
...
@@ -3367,75 +3343,6 @@ static PyObject *pycvReshapeMatND(PyObject *self, PyObject *args)
return
shareDataND
(
o
,
cva
,
pn
);
}
static
void
OnMouse
(
int
event
,
int
x
,
int
y
,
int
flags
,
void
*
param
)
{
PyGILState_STATE
gstate
;
gstate
=
PyGILState_Ensure
();
PyObject
*
o
=
(
PyObject
*
)
param
;
PyObject
*
args
=
Py_BuildValue
(
"iiiiO"
,
event
,
x
,
y
,
flags
,
PyTuple_GetItem
(
o
,
1
));
PyObject
*
r
=
PyObject_Call
(
PyTuple_GetItem
(
o
,
0
),
args
,
NULL
);
if
(
r
==
NULL
)
PyErr_Print
();
else
Py_DECREF
(
r
);
Py_DECREF
(
args
);
PyGILState_Release
(
gstate
);
}
static
PyObject
*
pycvSetMouseCallback
(
PyObject
*
self
,
PyObject
*
args
,
PyObject
*
kw
)
{
const
char
*
keywords
[]
=
{
"window_name"
,
"on_mouse"
,
"param"
,
NULL
};
char
*
name
;
PyObject
*
on_mouse
;
PyObject
*
param
=
NULL
;
if
(
!
PyArg_ParseTupleAndKeywords
(
args
,
kw
,
"sO|O"
,
(
char
**
)
keywords
,
&
name
,
&
on_mouse
,
&
param
))
return
NULL
;
if
(
!
PyCallable_Check
(
on_mouse
))
{
PyErr_SetString
(
PyExc_TypeError
,
"on_mouse must be callable"
);
return
NULL
;
}
if
(
param
==
NULL
)
{
param
=
Py_None
;
}
ERRWRAP
(
cvSetMouseCallback
(
name
,
OnMouse
,
Py_BuildValue
(
"OO"
,
on_mouse
,
param
)));
Py_RETURN_NONE
;
}
void
OnChange
(
int
pos
,
void
*
param
)
{
PyGILState_STATE
gstate
;
gstate
=
PyGILState_Ensure
();
PyObject
*
o
=
(
PyObject
*
)
param
;
PyObject
*
args
=
Py_BuildValue
(
"(i)"
,
pos
);
PyObject
*
r
=
PyObject_Call
(
PyTuple_GetItem
(
o
,
0
),
args
,
NULL
);
if
(
r
==
NULL
)
PyErr_Print
();
Py_DECREF
(
args
);
PyGILState_Release
(
gstate
);
}
static
PyObject
*
pycvCreateTrackbar
(
PyObject
*
self
,
PyObject
*
args
)
{
PyObject
*
on_change
;
char
*
trackbar_name
;
char
*
window_name
;
int
*
value
=
new
int
;
int
count
;
if
(
!
PyArg_ParseTuple
(
args
,
"ssiiO"
,
&
trackbar_name
,
&
window_name
,
value
,
&
count
,
&
on_change
))
return
NULL
;
if
(
!
PyCallable_Check
(
on_change
))
{
PyErr_SetString
(
PyExc_TypeError
,
"on_change must be callable"
);
return
NULL
;
}
ERRWRAP
(
cvCreateTrackbar2
(
trackbar_name
,
window_name
,
value
,
count
,
OnChange
,
Py_BuildValue
(
"OO"
,
on_change
,
Py_None
)));
Py_RETURN_NONE
;
}
static
PyObject
*
pycvFindContours
(
PyObject
*
self
,
PyObject
*
args
,
PyObject
*
kw
)
{
CvArr
*
image
;
...
...
@@ -3964,17 +3871,12 @@ static double cppKMeans(const CvArr* _samples, int cluster_count, CvArr* _labels
#include "generated0.i"
static
PyMethodDef
methods
[]
=
{
static
PyMethodDef
old_
methods
[]
=
{
#if PYTHON_USE_NUMPY
{
"fromarray"
,
(
PyCFunction
)
pycvfromarray
,
METH_KEYWORDS
,
"fromarray(array) -> cvmatnd"
},
#endif
//{"CalcOpticalFlowFarneback", (PyCFunction)pycvCalcOpticalFlowFarneback, METH_KEYWORDS, "CalcOpticalFlowFarneback(prev, next, flow, pyr_scale=0.5, levels=3, win_size=15, iterations=3, poly_n=7, poly_sigma=1.5, flags=0) -> None"},
//{"_HOGComputeDescriptors", (PyCFunction)pycvHOGComputeDescriptors, METH_KEYWORDS, "_HOGComputeDescriptors(image, win_stride=block_stride, locations=None, padding=(0,0), win_size=(64,128), block_size=(16,16), block_stride=(8,8), cell_size=(8,8), nbins=9, gammaCorrection=true) -> list_of_descriptors"},
//{"_HOGDetect", (PyCFunction)pycvHOGDetect, METH_KEYWORDS, "_HOGDetect(image, svm_classifier, win_stride=block_stride, locations=None, padding=(0,0), win_size=(64,128), block_size=(16,16), block_stride=(8,8), cell_size=(8,8), nbins=9, gammaCorrection=true) -> list_of_points"},
//{"_HOGDetectMultiScale", (PyCFunction)pycvHOGDetectMultiScale, METH_KEYWORDS, "_HOGDetectMultiScale(image, svm_classifier, win_stride=block_stride, scale=1.05, group_threshold=2, padding=(0,0), win_size=(64,128), block_size=(16,16), block_stride=(8,8), cell_size=(8,8), nbins=9, gammaCorrection=true) -> list_of_points"},
{
"FindDataMatrix"
,
pyfinddatamatrix
,
METH_VARARGS
},
{
"temp_test"
,
temp_test
,
METH_VARARGS
},
...
...
@@ -3986,33 +3888,13 @@ static PyMethodDef methods[] = {
/************************************************************************/
/* Module init */
static
int
to_ok
(
PyTypeObject
*
to
)
PyObject
*
init_cv
(
)
{
to
->
tp_alloc
=
PyType_GenericAlloc
;
to
->
tp_new
=
PyType_GenericNew
;
to
->
tp_flags
=
Py_TPFLAGS_DEFAULT
|
Py_TPFLAGS_BASETYPE
;
return
(
PyType_Ready
(
to
)
==
0
);
}
#define MKTYPE(NAME) NAME##_specials(); if (!to_ok(&NAME##_Type)) return
using
namespace
cv
;
extern
"C"
#if defined WIN32 || defined _WIN32
__declspec
(
dllexport
)
#endif
void
initcv
()
{
#if PYTHON_USE_NUMPY
import_array
();
#endif
PyObject
*
m
,
*
d
;
cvSetErrMode
(
CV_ErrModeParent
);
#define MKTYPE(NAME) NAME##_specials(); to_ok(&NAME##_Type)
MKTYPE
(
cvcontourtree
);
MKTYPE
(
cvfont
);
MKTYPE
(
cvhistogram
);
...
...
@@ -4031,12 +3913,12 @@ void initcv()
#include "generated4.i"
m
=
Py_InitModule
(
MODULESTR
""
,
methods
);
#undef MKTYPE
m
=
Py_InitModule
(
OLD_MODULESTR
,
old_methods
);
d
=
PyModule_GetDict
(
m
);
PyDict_SetItemString
(
d
,
"__version__"
,
PyString_FromString
(
"$Rev: 4557 $"
));
opencv_error
=
PyErr_NewException
((
char
*
)
MODULESTR
".error"
,
NULL
,
NULL
);
PyDict_SetItemString
(
d
,
"error"
,
opencv_error
);
// Couple of warnings about strict aliasing here. Not clear how to fix.
...
...
@@ -4127,7 +4009,13 @@ void initcv()
PUBLISH
(
GC_INIT_WITH_RECT
);
PUBLISH
(
GC_INIT_WITH_MASK
);
PUBLISH
(
GC_EVAL
);
#include "generated2.i"
#undef PUBLISH
#undef PUBLISHU
#undef PUBLISH2
return
m
;
}
modules/python/src
1
/defs
→
modules/python/src
2
/defs
浏览文件 @
569b1ad5
文件已移动
modules/python/src
1
/gen.py
→
modules/python/src
2
/gen.py
浏览文件 @
569b1ad5
文件已移动
modules/python/test/calchist.py
浏览文件 @
569b1ad5
# Calculating and displaying 2D Hue-Saturation histogram of a color image
import
sys
import
cv
import
cv
2.cv
as
cv
def
hs_histogram
(
src
):
# Convert to HSV
...
...
modules/python/test/camera_calibration.py
浏览文件 @
569b1ad5
...
...
@@ -5,7 +5,7 @@ import random
import
numpy
import
transformations
import
cv
import
cv
2.cv
as
cv
def
clamp
(
a
,
x
,
b
):
return
numpy
.
maximum
(
a
,
numpy
.
minimum
(
x
,
b
))
...
...
modules/python/test/findstereocorrespondence.py
浏览文件 @
569b1ad5
import
sys
import
cv
import
cv
2.cv
as
cv
def
findstereocorrespondence
(
image_left
,
image_right
):
# image_left and image_right are the input 8-bit single-channel images
...
...
modules/python/test/goodfeatures.py
浏览文件 @
569b1ad5
import
cv
import
cv
2.cv
as
cv
import
unittest
class
TestGoodFeaturesToTrack
(
unittest
.
TestCase
):
...
...
modules/python/test/leak1.py
浏览文件 @
569b1ad5
import
cv
import
cv
2.cv
as
cv
import
numpy
as
np
cv
.
NamedWindow
(
'Leak'
)
while
1
:
...
...
modules/python/test/leak2.py
浏览文件 @
569b1ad5
import
cv
import
cv
2.cv
as
cv
import
numpy
as
np
import
time
...
...
modules/python/test/leak3.py
浏览文件 @
569b1ad5
import
cv
import
cv
2.cv
as
cv
import
math
import
time
...
...
modules/python/test/leak4.py
浏览文件 @
569b1ad5
import
cv
import
cv
2.cv
as
cv
import
math
import
time
...
...
modules/python/test/precornerdetect.py
浏览文件 @
569b1ad5
import
cv
import
cv
2.cv
as
cv
def
precornerdetect
(
image
):
# assume that the image is floating-point
...
...
modules/python/test/test.py
浏览文件 @
569b1ad5
...
...
@@ -12,7 +12,7 @@ import getopt
import
operator
import
functools
import
cv
import
cv
2.cv
as
cv
class
OpenCVTests
(
unittest
.
TestCase
):
...
...
modules/python/test/ticket_6.py
浏览文件 @
569b1ad5
import
urllib
import
cv
import
cv
2.cv
as
cv
import
Image
import
unittest
...
...
modules/python/test/tickets.py
浏览文件 @
569b1ad5
...
...
@@ -6,7 +6,7 @@ import sys
import
array
import
os
import
cv
import
cv
2.cv
as
cv
def
find_sample
(
s
):
for
d
in
[
"../samples/c/"
,
"../doc/pics/"
]:
...
...
modules/video/test/test_main.cpp
浏览文件 @
569b1ad5
#include "test_precomp.hpp"
CV_TEST_MAIN
(
"cv"
)
//CV_TEST_MAIN("cv")
#if 1
using
namespace
cv
;
int
main
(
int
,
char
**
)
{
Mat
prevImg
=
imread
(
"/Users/vp/work/ocv/opencv_extra/testdata/cv/optflow/rock_1.bmp"
,
0
);
Mat
nextImg
=
imread
(
"/Users/vp/work/ocv/opencv_extra/testdata/cv/optflow/rock_2.bmp"
,
0
);
FileStorage
fs
(
"/Users/vp/work/ocv/opencv_extra/testdata/cv/optflow/lk_prev.dat"
,
FileStorage
::
READ
);
vector
<
Point2f
>
u
,
v
;
Mat
_u
;
fs
[
"points"
]
>>
_u
;
_u
.
reshape
(
2
,
0
).
copyTo
(
u
);
vector
<
uchar
>
status
;
vector
<
float
>
err
;
double
tmin
=
0
;
for
(
int
k
=
0
;
k
<
3
;
k
++
)
{
double
t
=
(
double
)
getTickCount
();
#if 1
calcOpticalFlowPyrLK
(
prevImg
,
nextImg
,
u
,
v
,
status
,
err
,
Size
(
11
,
11
),
5
,
TermCriteria
(
TermCriteria
::
MAX_ITER
+
TermCriteria
::
EPS
,
30
,
0.01
),
100
);
#else
{
CvMat
_prevImg
=
prevImg
;
CvMat
_nextImg
=
nextImg
;
v
.
resize
(
u
.
size
());
status
.
resize
(
u
.
size
());
err
.
resize
(
u
.
size
());
cvCalcOpticalFlowPyrLK
(
&
_prevImg
,
&
_nextImg
,
0
,
0
,
(
CvPoint2D32f
*
)
&
u
[
0
],
(
CvPoint2D32f
*
)
&
v
[
0
],
(
int
)
u
.
size
(),
cvSize
(
21
,
21
),
4
,
(
char
*
)
&
status
[
0
],
&
err
[
0
],
cvTermCriteria
(
CV_TERMCRIT_EPS
+
CV_TERMCRIT_ITER
,
30
,
0.01
),
0
);
}
#endif
t
=
(
double
)
getTickCount
()
-
t
;
tmin
=
k
==
0
?
t
:
std
::
min
(
tmin
,
t
);
}
printf
(
"time = %gms
\n
"
,
tmin
*
1000.
/
getTickFrequency
());
Mat
color
;
cvtColor
(
prevImg
,
color
,
CV_GRAY2BGR
);
for
(
size_t
i
=
0
;
i
<
u
.
size
();
i
++
)
{
Point2f
ui
=
u
[
i
],
vi
=
v
[
i
];
if
(
cvIsNaN
(
v
[
i
].
x
)
||
cvIsNaN
(
v
[
i
].
y
)
||
!
status
[
i
]
)
{
const
float
r
=
2.
f
;
line
(
color
,
Point2f
(
u
[
i
].
x
-
r
,
u
[
i
].
y
-
r
),
Point2f
(
u
[
i
].
x
+
r
,
u
[
i
].
y
+
r
),
Scalar
(
0
,
0
,
255
),
1
);
line
(
color
,
Point2f
(
u
[
i
].
x
-
r
,
u
[
i
].
y
+
r
),
Point2f
(
u
[
i
].
x
+
r
,
u
[
i
].
y
-
r
),
Scalar
(
0
,
0
,
255
),
1
);
continue
;
}
line
(
color
,
ui
,
vi
,
Scalar
(
0
,
255
,
0
),
1
);
}
imshow
(
"flow"
,
color
);
waitKey
();
return
0
;
}
#endif
samples/python/camera.py
浏览文件 @
569b1ad5
import
cv
import
cv
2.cv
as
cv
import
time
cv
.
NamedWindow
(
"camera"
,
1
)
...
...
samples/python/camshift.py
浏览文件 @
569b1ad5
#!/usr/bin/env python
import
cv
import
cv
2.cv
as
cv
def
is_rect_nonzero
(
r
):
(
_
,
_
,
w
,
h
)
=
r
...
...
samples/python/chessboard.py
浏览文件 @
569b1ad5
#!/usr/bin/python
import
cv
import
cv
2.cv
as
cv
import
sys
import
urllib2
...
...
samples/python/contours.py
浏览文件 @
569b1ad5
...
...
@@ -3,7 +3,7 @@
print
"OpenCV Python version of contours"
# import the necessary things for OpenCV
import
cv
import
cv
2.cv
as
cv
# some default constants
_SIZE
=
500
...
...
samples/python/convexhull.py
浏览文件 @
569b1ad5
...
...
@@ -3,7 +3,7 @@
print
"OpenCV Python version of convexhull"
# import the necessary things for OpenCV
import
cv
import
cv
2.cv
as
cv
# to generate random values
import
random
...
...
samples/python/cv20squares.py
浏览文件 @
569b1ad5
...
...
@@ -5,7 +5,7 @@ Find Squares in image by finding countours and filtering
#otherwise ok
import
math
import
cv
import
cv
2.cv
as
cv
def
angle
(
pt1
,
pt2
,
pt0
):
"calculate angle contained by 3 points(x, y)"
...
...
samples/python/cvutils.py
浏览文件 @
569b1ad5
import
cv
import
cv
2.cv
as
cv
import
urllib2
from
sys
import
argv
...
...
samples/python/delaunay.py
浏览文件 @
569b1ad5
...
...
@@ -6,7 +6,7 @@ delaunay triangulation and voronoi tesselation
Original Author (C version): ?
Converted to Python by: Roman Stanchak
"""
import
cv
import
cv
2.cv
as
cv
import
random
def
draw_subdiv_point
(
img
,
fp
,
color
):
...
...
samples/python/demhist.py
浏览文件 @
569b1ad5
#!/usr/bin/python
import
cv
import
cv
2.cv
as
cv
import
sys
import
urllib2
...
...
samples/python/dft.py
浏览文件 @
569b1ad5
#!/usr/bin/python
import
cv
import
cv
2.cv
as
cv
import
sys
import
urllib2
...
...
samples/python/distrans.py
浏览文件 @
569b1ad5
#!/usr/bin/python
import
sys
import
cv
import
cv
2.cv
as
cv
import
urllib2
wndname
=
"Distance transform"
...
...
samples/python/dmtx.py
浏览文件 @
569b1ad5
import
cv
import
cv
2.cv
as
cv
import
time
from
pydmtx
import
DataMatrix
import
numpy
...
...
samples/python/drawing.py
浏览文件 @
569b1ad5
...
...
@@ -4,7 +4,7 @@ import colorsys
print
"OpenCV Python version of drawing"
import
cv
import
cv
2.cv
as
cv
def
random_color
(
random
):
"""
...
...
samples/python/edge.py
浏览文件 @
569b1ad5
...
...
@@ -4,7 +4,7 @@ print "OpenCV Python version of edge"
import
sys
import
urllib2
import
cv
import
cv
2.cv
as
cv
# some definitions
win_name
=
"Edge"
...
...
samples/python/facedetect.py
浏览文件 @
569b1ad5
...
...
@@ -7,7 +7,7 @@ Original C implementation by: ?
Python implementation by: Roman Stanchak, James Bowman
"""
import
sys
import
cv
import
cv
2.cv
as
cv
from
optparse
import
OptionParser
# Parameters for haar detection
...
...
samples/python/ffilldemo.py
浏览文件 @
569b1ad5
...
...
@@ -2,7 +2,7 @@
import
sys
import
random
import
urllib2
import
cv
import
cv
2.cv
as
cv
im
=
None
;
mask
=
None
;
...
...
samples/python/fitellipse.py
浏览文件 @
569b1ad5
...
...
@@ -13,7 +13,7 @@ Python implementation by: Roman Stanchak, James Bowman
import
sys
import
urllib2
import
random
import
cv
import
cv
2.cv
as
cv
def
contour_iterator
(
contour
):
while
contour
:
...
...
samples/python/houghlines.py
浏览文件 @
569b1ad5
...
...
@@ -3,7 +3,7 @@
import
sys
from
math
import
sin
,
cos
,
sqrt
,
pi
import
cv
import
cv
2.cv
as
cv
import
urllib2
# toggle between CV_HOUGH_STANDARD and CV_HOUGH_PROBILISTIC
...
...
samples/python/inpaint.py
浏览文件 @
569b1ad5
#!/usr/bin/python
import
urllib2
import
sys
import
cv
import
cv
2.cv
as
cv
class
Sketcher
:
def
__init__
(
self
,
windowname
,
dests
):
...
...
samples/python/kalman.py
浏览文件 @
569b1ad5
...
...
@@ -12,7 +12,7 @@
Pressing ESC will stop the program.
"""
import
urllib2
import
cv
import
cv
2.cv
as
cv
from
math
import
cos
,
sin
,
sqrt
import
sys
...
...
samples/python/kmeans.py
浏览文件 @
569b1ad5
#!/usr/bin/python
import
urllib2
import
cv
import
cv
2.cv
as
cv
from
random
import
randint
MAX_CLUSTERS
=
5
...
...
samples/python/laplace.py
浏览文件 @
569b1ad5
#!/usr/bin/python
import
urllib2
import
cv
import
cv
2.cv
as
cv
import
sys
if
__name__
==
"__main__"
:
...
...
samples/python/lkdemo.py
浏览文件 @
569b1ad5
...
...
@@ -5,7 +5,7 @@ print "OpenCV Python version of lkdemo"
import
sys
# import the necessary things for OpenCV
import
cv
import
cv
2.cv
as
cv
#############################################################################
# some "constants"
...
...
samples/python/logpolar.py
浏览文件 @
569b1ad5
#!/usr/bin/python
import
sys
import
urllib2
import
cv
import
cv
2.cv
as
cv
src
=
None
dst
=
None
...
...
samples/python/minarea.py
浏览文件 @
569b1ad5
#!/usr/bin/python
import
urllib2
import
cv
import
cv
2.cv
as
cv
from
random
import
randint
def
roundxy
(
pt
):
...
...
samples/python/minidemo.py
浏览文件 @
569b1ad5
#! /usr/bin/env python
import
cv
import
cv
2.cv
as
cv
cap
=
cv
.
CreateFileCapture
(
"../c/tree.avi"
)
img
=
cv
.
QueryFrame
(
cap
)
...
...
samples/python/morphology.py
浏览文件 @
569b1ad5
#!/usr/bin/python
import
sys
import
urllib2
import
cv
import
cv
2.cv
as
cv
src
=
0
image
=
0
...
...
samples/python/motempl.py
浏览文件 @
569b1ad5
...
...
@@ -3,7 +3,7 @@ import urllib2
import
sys
import
time
from
math
import
cos
,
sin
import
cv
import
cv
2.cv
as
cv
CLOCKS_PER_SEC
=
1.0
MHI_DURATION
=
1
...
...
samples/python/numpy_array.py
浏览文件 @
569b1ad5
#!/usr/bin/python
import
urllib2
import
sys
import
cv
import
cv
2.cv
as
cv
import
numpy
# SRGB-linear conversions using NumPy - see http://en.wikipedia.org/wiki/SRGB
...
...
samples/python/numpy_warhol.py
浏览文件 @
569b1ad5
#!/usr/bin/python
import
urllib2
import
sys
import
cv
import
cv
2.cv
as
cv
import
numpy
if
__name__
==
"__main__"
:
...
...
samples/python/pyramid_segmentation.py
浏览文件 @
569b1ad5
#!/usr/bin/python
import
cv
import
cv
2.cv
as
cv
class
PyrSegmentation
:
def
__init__
(
self
,
img0
):
...
...
samples/python/squares.py
浏览文件 @
569b1ad5
...
...
@@ -7,7 +7,7 @@
import
urllib2
from
math
import
sqrt
import
cv
import
cv
2.cv
as
cv
thresh
=
50
img
=
None
...
...
samples/python/watershed.py
浏览文件 @
569b1ad5
#!/usr/bin/python
import
urllib2
import
sys
import
cv
import
cv
2.cv
as
cv
class
Sketcher
:
def
__init__
(
self
,
windowname
,
dests
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录