opencv裁剪和編譯
0. 準備工作
0.1 下載和安裝Eigen
地址
https://eigen.tuxfamily.org/index.php?title=Main_Page
對于opencv
編譯,需要增加EIGEN_INCLUDE_PATH
和開啟WITH_EIGEN
-DWITH_EIGEN=ON -DEIGEN_INCLUDE_PATH=./3rd/eigen-3.4.0
1. 實際腳本
編譯腳本如下:
chcp 65001
@echo off@REM echo 刪除build-x64目錄
@REM rd /s /q build-x64
@REM echo 刪除build-x86目錄
@REM rd /s /q build-x86
@REM echo 刪除3rd/install目錄
@REM rd /s /q 3rd/installecho 刪除build-x64-stitching目錄
rd /s /q build-x64-stitching
echo 刪除build-x86目錄
rd /s /q build-x86-stitching
echo 刪除3rd/install-stitching目錄
rd /s /q 3rd/install-stitching@REM echo "省略--prefix ./3rd/install/Debug"@REM echo 開始編譯OpenCV x64@REM cmake -S ./3rd/opencv-4.10.0 -B build-x64 -A x64 -DBUILD_SHARED_LIBS=OFF -DBUILD_opencv_js=OFF -DBUILD_LIST=core,imgproc,imgcodecs -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_DOCS=OFF -DBUILD_opencv_apps=OFF -DBUILD_opencv_python_bindings_generator=OFF -DBUILD_opencv_ts=OFF -DBUILD_WITH_DEBUG_INFO=OFF -DWITH_ITT=OFF -DWITH_OPENCL=OFF -DWITH_TBB=OFF -DWITH_IPP=OFF -DWITH_QT=OFF -DWITH_GTK=OFF -DWITH_OPENGL=OFF -DWITH_FFMPEG=OFF -DWITH_JPEG=ON -DWITH_PNG=ON -DWITH_WEBP=OFF -DWITH_TIFF=OFF -DWITH_1394=OFF -DWITH_V4L=OFF -DWITH_GSTREAMER=OFF -DWITH_PROTOBUF=OFF -DWITH_ADE=OFF -D WITH_ZLIB=OFF -DCMAKE_INSTALL_PREFIX=./3rd/install@REM cmake --build build-x64 --config Release
@REM cmake --build build-x64 --config Debug
@REM cmake --install build-x64 --config Release
@REM cmake --install build-x64 --config Debug@REM echo 開始編譯OpenCV x86
@REM cmake -S ./3rd/opencv-4.10.0 -B build-x86 -A Win32 -DBUILD_SHARED_LIBS=OFF -DBUILD_opencv_js=OFF -DBUILD_LIST=core,imgproc,imgcodecs -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_DOCS=OFF -DBUILD_opencv_apps=OFF -DBUILD_opencv_python_bindings_generator=OFF -DBUILD_opencv_ts=OFF -DBUILD_WITH_DEBUG_INFO=OFF -DWITH_ITT=OFF -DWITH_OPENCL=OFF -DWITH_TBB=OFF -DWITH_IPP=OFF -DWITH_QT=OFF -DWITH_GTK=OFF -DWITH_OPENGL=OFF -DWITH_FFMPEG=OFF -DWITH_JPEG=ON -DWITH_PNG=ON -DWITH_WEBP=OFF -DWITH_TIFF=OFF -DWITH_1394=OFF -DWITH_V4L=OFF -DWITH_GSTREAMER=OFF -DWITH_PROTOBUF=OFF -DWITH_ADE=OFF -D WITH_ZLIB=OFF -DCMAKE_INSTALL_PREFIX=./3rd/install@REM cmake --build build-x86 --config Release
@REM cmake --build build-x86 --config Debug
@REM cmake --install build-x86 --config Release
@REM cmake --install build-x86 --config Debugecho "編譯eigen-純頭文件庫"
cmake -S ./3rd/eigen-3.4.0 -B build-eigen-x64 -A x64 -DCMAKE_INSTALL_PREFIX=./3rd/eigen-install
cmake --build build-eigen-x64 --config Release
cmake --build build-eigen-x64 --config Debug
cmake --install build-eigen-x64 --config Release
cmake --install build-eigen-x64 --config Debug@REM echo "編譯eigen x86"
@REM cmake -S ./3rd/eigen-3.4.0 -B build-eigen-x86 -A Win32 -DCMAKE_INSTALL_PREFIX=./3rd/eigen-install
@REM cmake --build build-eigen-x86 --config Release
@REM cmake --build build-eigen-x86 --config Debug
@REM cmake --install build-eigen-x86 --config Release
@REM cmake --install build-eigen-x86 --config Debugecho "編譯stitching-x64"
cmake -S ./3rd/opencv-4.10.0 -B build-x64-stitching -A x64 -DBUILD_SHARED_LIBS=OFF -DBUILD_opencv_js=OFF -DBUILD_LIST=core,imgproc,imgcodecs,highgui,features2d,flann,calib3d,photo,video,stitching -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_DOCS=OFF -DBUILD_opencv_apps=OFF -DBUILD_opencv_python_bindings_generator=OFF -DBUILD_opencv_ts=OFF -DBUILD_WITH_DEBUG_INFO=OFF -DWITH_ITT=OFF -DWITH_OPENCL=OFF -DWITH_TBB=OFF -DWITH_IPP=OFF -DWITH_QT=OFF -DWITH_GTK=OFF -DWITH_OPENGL=OFF -DWITH_FFMPEG=OFF -DWITH_JPEG=ON -DWITH_PNG=ON -DWITH_WEBP=OFF -DWITH_TIFF=OFF -DWITH_1394=OFF -DWITH_V4L=OFF -DWITH_GSTREAMER=OFF -DWITH_PROTOBUF=OFF -DWITH_ADE=OFF -DWITH_ZLIB=ON -DWITH_EIGEN=ON -DEIGEN_INCLUDE_PATH=D:/code_company/image_process/3rd/eigen-3.4.0 -DCMAKE_INSTALL_PREFIX=./3rd/install-stitching@REM cmake -S ./3rd/opencv-4.10.0 -B build-x64-stitching -A x64 -DBUILD_SHARED_LIBS=OFF -DBUILD_opencv_js=OFF -DBUILD_LIST=core,imgproc,imgcodecs,highgui,features2d,flann,calib3d,photo,video,stitching -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_DOCS=OFF -DBUILD_opencv_apps=OFF -DBUILD_opencv_python_bindings_generator=OFF -DBUILD_opencv_ts=OFF -DBUILD_WITH_DEBUG_INFO=OFF -DWITH_ITT=OFF -DWITH_OPENCL=OFF -DWITH_TBB=OFF -DWITH_IPP=OFF -DWITH_QT=OFF -DWITH_GTK=OFF -DWITH_OPENGL=OFF -DWITH_FFMPEG=OFF -DWITH_JPEG=ON -DWITH_PNG=ON -DWITH_WEBP=OFF -DWITH_TIFF=OFF -DWITH_1394=OFF -DWITH_V4L=OFF -DWITH_GSTREAMER=OFF -DWITH_PROTOBUF=OFF -DWITH_ADE=OFF -DWITH_ZLIB=ON -DCMAKE_INSTALL_PREFIX=./3rd/install-stitchingcmake --build build-x64-stitching --config Release
cmake --build build-x64-stitching --config Debug
cmake --install build-x64-stitching --config Release
cmake --install build-x64-stitching --config Debugecho "編譯stitching-x86"
cmake -S ./3rd/opencv-4.10.0 -B build-x86-stitching -A Win32 -DBUILD_SHARED_LIBS=OFF -DBUILD_opencv_js=OFF -DBUILD_LIST=core,imgproc,imgcodecs,highgui,features2d,flann,calib3d,photo,video,stitching -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_DOCS=OFF -DBUILD_opencv_apps=OFF -DBUILD_opencv_python_bindings_generator=OFF -DBUILD_opencv_ts=OFF -DBUILD_WITH_DEBUG_INFO=OFF -DWITH_ITT=OFF -DWITH_OPENCL=OFF -DWITH_TBB=OFF -DWITH_IPP=OFF -DWITH_QT=OFF -DWITH_GTK=OFF -DWITH_OPENGL=OFF -DWITH_FFMPEG=OFF -DWITH_JPEG=ON -DWITH_PNG=ON -DWITH_WEBP=OFF -DWITH_TIFF=OFF -DWITH_1394=OFF -DWITH_V4L=OFF -DWITH_GSTREAMER=OFF -DWITH_PROTOBUF=OFF -DWITH_ADE=OFF -DWITH_ZLIB=ON -DWITH_EIGEN=ON -DEIGEN_INCLUDE_PATH=D:/code_company/image_process/3rd/eigen-3.4.0 -DCMAKE_INSTALL_PREFIX=./3rd/install-stitching@REM cmake -S ./3rd/opencv-4.10.0 -B build-x86-stitching -A Win32 -DBUILD_SHARED_LIBS=OFF -DBUILD_opencv_js=OFF -DBUILD_LIST=core,imgproc,imgcodecs,highgui,features2d,flann,calib3d,photo,video,stitching -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_DOCS=OFF -DBUILD_opencv_apps=OFF -DBUILD_opencv_python_bindings_generator=OFF -DBUILD_opencv_ts=OFF -DBUILD_WITH_DEBUG_INFO=OFF -DWITH_ITT=OFF -DWITH_OPENCL=OFF -DWITH_TBB=OFF -DWITH_IPP=OFF -DWITH_QT=OFF -DWITH_GTK=OFF -DWITH_OPENGL=OFF -DWITH_FFMPEG=OFF -DWITH_JPEG=ON -DWITH_PNG=ON -DWITH_WEBP=OFF -DWITH_TIFF=OFF -DWITH_1394=OFF -DWITH_V4L=OFF -DWITH_GSTREAMER=OFF -DWITH_PROTOBUF=OFF -DWITH_ADE=OFF -DWITH_ZLIB=ON -DCMAKE_INSTALL_PREFIX=./3rd/install-stitchingcmake --build build-x86-stitching --config Release
cmake --build build-x86-stitching --config Debug
cmake --install build-x86-stitching --config Release
cmake --install build-x86-stitching --config Debug
2. 使用opencv
將eigen
編譯后的產物復制到3rd
或系統目錄,如果是自定義目錄則需要自己追加CMAKE_PREFIX_PATH
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR}/3rd/eigen-install")
find_package(Eigen3 REQUIRED)
# 先導入Eigen3
set(OpenCV_DIR "${CMAKE_CURRENT_SOURCE_DIR}/3rd/install/${ARCH}/vc17/staticlib")
find_package(OpenCV REQUIRED)