Fixed some build warnings; slightly improved python search

This commit is contained in:
Andrey Kamaev 2012-03-02 08:34:54 +00:00
parent 30d5cdef94
commit 2f4bb580fc
6 changed files with 81 additions and 67 deletions

View File

@ -314,6 +314,9 @@ endif()
# Detect 3rd-party tools and libraries # Detect 3rd-party tools and libraries
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# IO libraries
include(cmake/OpenCVIOLibs.cmake REQUIRED)
#Graphic libraries #Graphic libraries
set(HAVE_OPENGL 0) set(HAVE_OPENGL 0)
if(UNIX) if(UNIX)
@ -433,9 +436,6 @@ if(UNIX)
endif() endif()
endif() endif()
# IO libraries
include(cmake/OpenCVIOLibs.cmake REQUIRED)
#################### LATEX for dpf documentation ################## #################### LATEX for dpf documentation ##################
if(BUILD_DOCS) if(BUILD_DOCS)
include(cmake/OpenCVFindLATEX.cmake REQUIRED) include(cmake/OpenCVFindLATEX.cmake REQUIRED)
@ -814,7 +814,7 @@ status(" Python interpreter:" PYTHON_EXECUTABLE THEN "${PYTHON_EXECUTAB
status("") status("")
status(" Interfaces:") status(" Interfaces:")
status(" Python:" HAVE_opencv_python THEN YES ELSE NO) status(" Python:" HAVE_opencv_python THEN YES ELSE NO)
status(" Python numpy:" PYTHON_USE_NUMPY THEN YES ELSE "NO (Python wrappers will not be generated)") status(" Python numpy:" PYTHON_USE_NUMPY THEN YES ELSE "NO (Python wrappers can not be generated)")
if(ANDROID) if(ANDROID)
status(" Java:" HAVE_opencv_java THEN YES ELSE NO) status(" Java:" HAVE_opencv_java THEN YES ELSE NO)
endif() endif()

View File

@ -1,59 +1,70 @@
find_host_package(PythonInterp) find_host_package(PythonInterp)
find_host_package(PythonLibs)
# cmake 2.4 (at least on Ubuntu 8.04 (hardy)) don't define PYTHONLIBS_FOUND
if(NOT PYTHONLIBS_FOUND AND PYTHON_INCLUDE_PATH)
set(PYTHONLIBS_FOUND ON)
endif()
execute_process(COMMAND ${PYTHON_EXECUTABLE} --version
ERROR_VARIABLE PYTHON_VERSION_FULL
OUTPUT_STRIP_TRAILING_WHITESPACE)
string(REGEX MATCH "[0-9]+.[0-9]+" PYTHON_VERSION_MAJOR_MINOR "${PYTHON_VERSION_FULL}")
if(CMAKE_HOST_UNIX)
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import *; print get_python_lib()"
RESULT_VARIABLE PYTHON_CVPY_PROCESS
OUTPUT_VARIABLE PYTHON_STD_PACKAGES_PATH
OUTPUT_STRIP_TRAILING_WHITESPACE)
if("${PYTHON_STD_PACKAGES_PATH}" MATCHES "site-packages")
set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages CACHE PATH "Where to install the python packages.")
else() #debian based assumed, install to the dist-packages.
set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/dist-packages CACHE PATH "Where to install the python packages.")
endif()
endif()
if(CMAKE_HOST_WIN32)
get_filename_component(PYTHON_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${PYTHON_VERSION_MAJOR_MINOR}\\InstallPath]" ABSOLUTE CACHE)
set(PYTHON_PACKAGES_PATH "${PYTHON_PATH}/Lib/site-packages")
endif()
# Attempt to discover the NumPy include directory. If this succeeds, then build python API with NumPy
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import os; os.environ['DISTUTILS_USE_SDK']='1'; import numpy.distutils; print numpy.distutils.misc_util.get_numpy_include_dirs()[0]"
RESULT_VARIABLE PYTHON_NUMPY_PROCESS
OUTPUT_VARIABLE PYTHON_NUMPY_INCLUDE_DIRS
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(PYTHON_NUMPY_PROCESS EQUAL 0)
set(PYTHON_USE_NUMPY 1)
add_definitions(-DPYTHON_USE_NUMPY=1)
include_directories(AFTER ${PYTHON_NUMPY_INCLUDE_DIRS})
message(STATUS " Use NumPy headers from: ${PYTHON_NUMPY_INCLUDE_DIRS}")
else()
set(PYTHON_USE_NUMPY 0)
endif()
# look for Sphinx
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import sphinx; print sphinx.__version__"
RESULT_VARIABLE SPHINX_PROCESS
OUTPUT_VARIABLE SPHINX_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(PYTHON_USE_NUMPY 0)
set(HAVE_SPHINX 0) set(HAVE_SPHINX 0)
if(SPHINX_PROCESS EQUAL 0)
find_host_program(SPHINX_BUILD sphinx-build) if(PYTHON_EXECUTABLE)
if(SPHINX_BUILD) if(NOT ANDROID AND NOT IOS)
set(HAVE_SPHINX 1) find_host_package(PythonLibs)
message(STATUS " Found Sphinx ${SPHINX_VERSION}: ${SPHINX_BUILD}") # cmake 2.4 (at least on Ubuntu 8.04 (hardy)) don't define PYTHONLIBS_FOUND
if(NOT PYTHONLIBS_FOUND AND PYTHON_INCLUDE_PATH)
set(PYTHONLIBS_FOUND ON)
endif()
endif() endif()
endif()
execute_process(COMMAND ${PYTHON_EXECUTABLE} --version
ERROR_VARIABLE PYTHON_VERSION_FULL
OUTPUT_STRIP_TRAILING_WHITESPACE)
string(REGEX MATCH "[0-9]+.[0-9]+" PYTHON_VERSION_MAJOR_MINOR "${PYTHON_VERSION_FULL}")
if(CMAKE_HOST_UNIX)
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import *; print get_python_lib()"
RESULT_VARIABLE PYTHON_CVPY_PROCESS
OUTPUT_VARIABLE PYTHON_STD_PACKAGES_PATH
OUTPUT_STRIP_TRAILING_WHITESPACE)
if("${PYTHON_STD_PACKAGES_PATH}" MATCHES "site-packages")
set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages CACHE PATH "Where to install the python packages.")
else() #debian based assumed, install to the dist-packages.
set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/dist-packages CACHE PATH "Where to install the python packages.")
endif()
elseif(CMAKE_HOST_WIN32)
get_filename_component(PYTHON_PATH "${PYTHON_EXECUTABLE}" PATH CACHE)
if(NOT EXISTS "${PYTHON_PATH}/Lib/site-packages")
unset(PYTHON_PATH)
get_filename_component(PYTHON_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${PYTHON_VERSION_MAJOR_MINOR}\\InstallPath]" ABSOLUTE CACHE)
endif()
set(PYTHON_PACKAGES_PATH "${PYTHON_PATH}/Lib/site-packages")
endif()
if(NOT ANDROID AND NOT IOS)
# Attempt to discover the NumPy include directory. If this succeeds, then build python API with NumPy
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import os; os.environ['DISTUTILS_USE_SDK']='1'; import numpy.distutils; print numpy.distutils.misc_util.get_numpy_include_dirs()[0]"
RESULT_VARIABLE PYTHON_NUMPY_PROCESS
OUTPUT_VARIABLE PYTHON_NUMPY_INCLUDE_DIRS
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(PYTHON_NUMPY_PROCESS EQUAL 0)
set(PYTHON_USE_NUMPY 1)
add_definitions(-DPYTHON_USE_NUMPY=1)
include_directories(AFTER ${PYTHON_NUMPY_INCLUDE_DIRS})
message(STATUS " Use NumPy headers from: ${PYTHON_NUMPY_INCLUDE_DIRS}")
endif()
endif()
if(BUILD_DOCS)
# look for Sphinx
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import sphinx; print sphinx.__version__"
RESULT_VARIABLE SPHINX_PROCESS
OUTPUT_VARIABLE SPHINX_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(SPHINX_PROCESS EQUAL 0)
find_host_program(SPHINX_BUILD sphinx-build)
if(SPHINX_BUILD)
set(HAVE_SPHINX 1)
message(STATUS " Found Sphinx ${SPHINX_VERSION}: ${SPHINX_BUILD}")
endif()
endif()
endif(BUILD_DOCS)
endif(PYTHON_EXECUTABLE)

View File

@ -124,17 +124,23 @@ static void test_threshold( const Mat& _src, Mat& _dst,
int i, j; int i, j;
int depth = _src.depth(), cn = _src.channels(); int depth = _src.depth(), cn = _src.channels();
int width_n = _src.cols*cn, height = _src.rows; int width_n = _src.cols*cn, height = _src.rows;
int ithresh = cvFloor(thresh), ithresh2, imaxval = cvRound(maxval); int ithresh = cvFloor(thresh);
int imaxval, ithresh2;
if( depth == CV_8U ) if( depth == CV_8U )
{ {
ithresh2 = saturate_cast<uchar>(ithresh); ithresh2 = saturate_cast<uchar>(ithresh);
imaxval = saturate_cast<uchar>(imaxval); imaxval = saturate_cast<uchar>(maxval);
} }
else if( depth == CV_16S ) else if( depth == CV_16S )
{ {
ithresh2 = saturate_cast<short>(ithresh); ithresh2 = saturate_cast<short>(ithresh);
imaxval = saturate_cast<short>(imaxval); imaxval = saturate_cast<short>(maxval);
}
else
{
ithresh2 = cvRound(ithresh);
imaxval = cvRound(maxval);
} }
assert( depth == CV_8U || depth == CV_16S || depth == CV_32F ); assert( depth == CV_8U || depth == CV_16S || depth == CV_32F );

View File

@ -117,7 +117,7 @@ int main(int argc, const char ** argv)
Mat outimg; Mat outimg;
drawMatches(im2, kpts_2, im1, kpts_1, matches_popcount, outimg, Scalar::all(-1), Scalar::all(-1), drawMatches(im2, kpts_2, im1, kpts_1, matches_popcount, outimg, Scalar::all(-1), Scalar::all(-1),
reinterpret_cast<const vector<char>&> (outlier_mask)); *(const vector<char>*)(void*)(&outlier_mask));
imshow("matches - popcount - outliers removed", outimg); imshow("matches - popcount - outliers removed", outimg);
Mat warped; Mat warped;

View File

@ -55,8 +55,6 @@ static void locate_point( Mat& img, Subdiv2D& subdiv, Point2f fp, Scalar active_
{ {
int e0=0, vertex=0; int e0=0, vertex=0;
CvSubdiv2DEdge e00;
subdiv.locate(fp, e0, vertex); subdiv.locate(fp, e0, vertex);
if( e0 > 0 ) if( e0 > 0 )

View File

@ -73,10 +73,9 @@ int main(int argc, char** argv)
return 1; return 1;
} }
FILE* f; FILE* f = 0;
VideoCapture cap; VideoCapture cap;
char test_file[20] = ""; char test_file[20] = "";
char dir[20] = "";
if (strcmp(argv[1], "live") != 0) if (strcmp(argv[1], "live") != 0)
{ {