如何只在OpenCV中编译python模块

时间:2014-04-09 12:30:22

标签: python opencv

我想为一些额外的OpenCV函数添加包装,所以如何只编译python模块而不编译整个库,这需要很长时间。

我找出了CMakeLists.txt和cmake生成的Makefile的步骤,它应该采取三个步骤:

  1. 生成c ++头文件(正在工作!)

    python src2 / gen.py src2 / python src2 / gen2.py。 \     ../core/include/opencv2/core/core.hpp \     ../flann/include/opencv2/flann/miniflann.hpp \     ../imgproc/include/opencv2/imgproc/imgproc.hpp \     ../video/include/opencv2/video/background_segm.hpp \     ../video/include/opencv2/video/tracking.hpp \     ../photo/include/opencv2/photo/photo.hpp \     ../highgui/include/opencv2/highgui/highgui.hpp \     ../ml/include/opencv2/ml/ml.hpp \     ../features2d/include/opencv2/features2d/features2d.hpp \     ../calib3d/include/opencv2/calib3d/calib3d.hpp \     ../objdetect/include/opencv2/objdetect/objdetect.hpp \     ../contrib/include/opencv2/contrib/contrib.hpp \     ../nonfree/include/opencv2/nonfree/features2d.hpp \     ../非自由/包含/ opencv2 /非游离/ nonfree.hpp

  2. 编译src2 / cv2.cpp(不工作!)

    g ++ -fPIC -c src2 / cv2.cpp -o cv2.o -DPYTHON_USE_NUMPY = 1 pkg-config --cflags --libs python opencv -I /usr/lib/python2.7/dist-packages/numpy/core/include/ -I 。

  3. 链接(来自Makefile,应该正常工作!)

    / usr / bin / c ++ -fPIC -fsigned-char -W -Wall -Werror = return-type -Werror = non-virtual-dtor -Werror = address -Werror = sequence-point -Wformat -Werror = format- security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -fdiagnostics-show-option -Wno-long-long -pthread- fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -fvisibility = hidden -fvisibility-inlines-hidden -Wno-unused-function -O3 -DNDEBUG -DNDEBUG -shared -Wl,-soname,cv2.so -o ../../lib/cv2.so CMakeFiles / opencv_python.dir / src2 / cv2.cpp.o -lpython2.7 ../../lib/libopencv_core.so.3.0.0 ../../lib /libopencv_flann.so.3.0.0 ../../lib/libopencv_imgproc.so.3.0.0 ../../lib/libopencv_highgui.so.3.0.0 ../../lib/libopencv_features2d.so。 3.0.0 ../../lib/libopencv_calib3d.so.3.0.0 ../../lib/libopencv_cudaarithm.so.3.0.0 ../../lib/libopencv_ml.so.3.0.0 .. /../lib/libopencv_nonfree.so.3.0.0 ../../lib/libopencv_objdetect.so.3.0.0 ../../lib/libopencv_video.so.3.0。 0 ../../lib/libopencv_contrib.so.3.0.0 ../../lib/libopencv_cudafilters.so.3.0.0 ../../lib/libopencv_cudaimgproc.so.3.0.0 ../。 ./lib/libopencv_legacy.so.3.0.0 ../../lib/libopencv_photo.so.3.0.0 ../../lib/libopencv_softcascade.so.3.0.0 ../../lib/libopencv_nonfree .so.3.0.0 ../../lib/libopencv_objdetect.so.3.0.0 ../../lib/libopencv_calib3d.so.3.0.0 ../../lib/libopencv_features2d.so.3.0。 0 ../../lib/libopencv_flann.so.3.0.0 ../../lib/libopencv_highgui.so.3.0.0 ../../lib/libopencv_video.so.3.0.0 ../。 ./lib/libopencv_cudaimgproc.so.3.0.0 ../../lib/libopencv_cudafilters.so.3.0.0 ../../lib/libopencv_cudaarithm.so.3.0.0 ../../lib/libopencv_imgproc .so.3.0.0 ../../lib/libopencv_ml.so.3.0.0 ../../lib/libopencv_core.so.3.0.0 -Wl,-rpath,/ home / taowei / Src / opencv / lib中:

  4. 那么如何在步骤2中正确编译cv2.cpp?

0 个答案:

没有答案