この SOF 投稿のユーザーは、WITH_OPENMP
(一部の) マルチコア サポートを有効にするフラグを使用して OpenCV をビルドすることを提案しています。OpenMP で OpenCV-2.4.10 をビルドしようとしましたが、Python で cv2 をインポートできません。
注: Python で OpenCV-2.4.10 をビルドして使用できます。WITH_OPENMP
問題は、フラグを使用して構築することです。
このブログ投稿でopencv-2.4.10/cmake/OpenCVFindLibsPerf.cmake
提案されているように、 の49 ~ 58 行を次のように置き換えます。
# --- OpenMP ---
if(NOT HAVE_TBB AND NOT HAVE_CSTRIPES)
include (FindOpenMP) # --- since cmake version 2.6.3
if (OPENMP_FOUND)
set (HAVE_OPENMP TRUE)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
else()
set ( HAVE_OPENMP FALSE)
endif()
else()
set(HAVE_OPENMP 0)
endif()
そして、ビルドする前に次のコマンドを実行します。
cmake -D WITH_OPENMP=ON -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_NEW_PYTHON_SUPPORT=ON \
-D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=ON ..
WITH_OPENMP=ON
ここで使用する正しいフラグはありますか? OpenCV-2.4.10 の使用に問題がありますか? (参照したブログ投稿は OpenCV-2.4.6.1 を使用していることに気付きました)