mirror of
https://github.com/opencv/opencv.git
synced 2026-07-29 07:13:02 +04:00
merged 2.4 into trunk
This commit is contained in:
@@ -60,7 +60,12 @@ add_custom_command(
|
||||
DEPENDS ${opencv_hdrs})
|
||||
|
||||
add_library(${the_module} SHARED src2/cv2.cpp ${CMAKE_CURRENT_BINARY_DIR}/generated0.i ${cv2_generated_hdrs} src2/cv2.cv.hpp)
|
||||
target_link_libraries(${the_module} ${PYTHON_LIBRARIES} ${OPENCV_MODULE_${the_module}_DEPS})
|
||||
if(PYTHON_DEBUG_LIBRARIES)
|
||||
target_link_libraries(${the_module} debug ${PYTHON_DEBUG_LIBRARIES} optimized ${PYTHON_LIBRARIES})
|
||||
else()
|
||||
target_link_libraries(${the_module} ${PYTHON_LIBRARIES})
|
||||
endif()
|
||||
target_link_libraries(${the_module} ${OPENCV_MODULE_${the_module}_DEPS})
|
||||
|
||||
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import distutils.sysconfig; print distutils.sysconfig.get_config_var('SO')"
|
||||
RESULT_VARIABLE PYTHON_CVPY_PROCESS
|
||||
@@ -87,7 +92,7 @@ if(MSVC AND NOT BUILD_SHARED_LIBS)
|
||||
set_target_properties(${the_module} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:atlthunk.lib /NODEFAULTLIB:atlsd.lib /DEBUG")
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
if(MSVC AND NOT PYTHON_DEBUG_LIBRARIES)
|
||||
set(PYTHON_INSTALL_CONFIGURATIONS CONFIGURATIONS Release)
|
||||
else()
|
||||
set(PYTHON_INSTALL_CONFIGURATIONS "")
|
||||
|
||||
@@ -86,11 +86,13 @@ typedef vector<Rect> vector_Rect;
|
||||
typedef vector<KeyPoint> vector_KeyPoint;
|
||||
typedef vector<Mat> vector_Mat;
|
||||
typedef vector<DMatch> vector_DMatch;
|
||||
typedef vector<string> vector_string;
|
||||
typedef vector<vector<Point> > vector_vector_Point;
|
||||
typedef vector<vector<Point2f> > vector_vector_Point2f;
|
||||
typedef vector<vector<Point3f> > vector_vector_Point3f;
|
||||
typedef vector<vector<DMatch> > vector_vector_DMatch;
|
||||
|
||||
typedef Ptr<Algorithm> Ptr_Algorithm;
|
||||
typedef Ptr<FeatureDetector> Ptr_FeatureDetector;
|
||||
typedef Ptr<DescriptorExtractor> Ptr_DescriptorExtractor;
|
||||
typedef Ptr<DescriptorMatcher> Ptr_DescriptorMatcher;
|
||||
@@ -759,6 +761,19 @@ template<> struct pyopencvVecConverter<DMatch>
|
||||
}
|
||||
};
|
||||
|
||||
template<> struct pyopencvVecConverter<string>
|
||||
{
|
||||
static bool to(PyObject* obj, vector<string>& value, const char* name="<unknown>")
|
||||
{
|
||||
return pyopencv_to_generic_vec(obj, value, name);
|
||||
}
|
||||
|
||||
static PyObject* from(const vector<string>& value)
|
||||
{
|
||||
return pyopencv_from_generic_vec(value);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
static inline bool pyopencv_to(PyObject *obj, CvTermCriteria& dst, const char *name="<unknown>")
|
||||
{
|
||||
@@ -995,7 +1010,7 @@ void initcv2()
|
||||
PyObject* m = Py_InitModule(MODULESTR, methods);
|
||||
PyObject* d = PyModule_GetDict(m);
|
||||
|
||||
PyDict_SetItemString(d, "__version__", PyString_FromString("$Rev: 4557 $"));
|
||||
PyDict_SetItemString(d, "__version__", PyString_FromString(CV_VERSION));
|
||||
|
||||
opencv_error = PyErr_NewException((char*)MODULESTR".error", NULL, NULL);
|
||||
PyDict_SetItemString(d, "error", opencv_error);
|
||||
|
||||
@@ -3383,7 +3383,7 @@ static PyObject *pycvCalcEMD2(PyObject *self, PyObject *args, PyObject *kw)
|
||||
PyObject *pyobj_cost_matrix = NULL;
|
||||
CvArr* flow=NULL;
|
||||
PyObject *pyobj_flow = NULL;
|
||||
float lower_bound = 0.0;
|
||||
float lower_bound = FLT_MAX;
|
||||
PyObject *userdata = NULL;
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kw, "OOi|OOOfO", (char**)keywords,
|
||||
@@ -3888,7 +3888,7 @@ PyObject* init_cv()
|
||||
m = Py_InitModule(OLD_MODULESTR, old_methods);
|
||||
d = PyModule_GetDict(m);
|
||||
|
||||
PyDict_SetItemString(d, "__version__", PyString_FromString("$Rev: 4557 $"));
|
||||
PyDict_SetItemString(d, "__version__", PyString_FromString(CV_VERSION));
|
||||
PyDict_SetItemString(d, "error", opencv_error);
|
||||
|
||||
// Couple of warnings about strict aliasing here. Not clear how to fix.
|
||||
|
||||
@@ -10,14 +10,14 @@ class TestGoodFeaturesToTrack(unittest.TestCase):
|
||||
temp_image = cv.CreateImage(size, cv.IPL_DEPTH_32F, 1)
|
||||
threshes = [ x / 100. for x in range(1,10) ]
|
||||
|
||||
results = dict([(t, cv.GoodFeaturesToTrack(arr, eig_image, temp_image, 20000, t, 2, use_harris = 1)) for t in threshes])
|
||||
results = dict([(t, cv.GoodFeaturesToTrack(arr, eig_image, temp_image, 20000, t, 2, useHarris = 1)) for t in threshes])
|
||||
|
||||
# Check that GoodFeaturesToTrack has not modified input image
|
||||
self.assert_(arr.tostring() == original.tostring())
|
||||
|
||||
# Check for repeatability
|
||||
for i in range(10):
|
||||
results2 = dict([(t, cv.GoodFeaturesToTrack(arr, eig_image, temp_image, 20000, t, 2, use_harris = 1)) for t in threshes])
|
||||
results2 = dict([(t, cv.GoodFeaturesToTrack(arr, eig_image, temp_image, 20000, t, 2, useHarris = 1)) for t in threshes])
|
||||
self.assert_(results == results2)
|
||||
|
||||
for t0,t1 in zip(threshes, threshes[1:]):
|
||||
|
||||
@@ -239,7 +239,7 @@ class FunctionTests(OpenCVTests):
|
||||
a = self.get_sample("samples/c/lena.jpg", 0)
|
||||
b = self.get_sample("samples/c/lena.jpg", 0)
|
||||
(w,h) = cv.GetSize(a)
|
||||
vel_size = (w - 8, h - 8)
|
||||
vel_size = (w - 8 + 1, h - 8 + 1)
|
||||
velx = cv.CreateImage(vel_size, cv.IPL_DEPTH_32F, 1)
|
||||
vely = cv.CreateImage(vel_size, cv.IPL_DEPTH_32F, 1)
|
||||
cv.CalcOpticalFlowBM(a, b, (8,8), (1,1), (8,8), 0, velx, vely)
|
||||
|
||||
Reference in New Issue
Block a user