{"id":1563,"date":"2025-07-25T11:29:32","date_gmt":"2025-07-25T02:29:32","guid":{"rendered":"https:\/\/beeknowledge.co.jp\/?p=1563"},"modified":"2025-07-25T11:29:34","modified_gmt":"2025-07-25T02:29:34","slug":"opencv-4-10-cuda-12-3-python3-10-extra-modules-ubuntu-22-04-%e3%82%bb%e3%83%83%e3%83%88%e3%82%a2%e3%83%83%e3%83%97%e3%82%ac%e3%82%a4%e3%83%89","status":"publish","type":"post","link":"https:\/\/beeknowledge.co.jp\/?p=1563","title":{"rendered":"OpenCV 4.10 + CUDA 12.3 + Python3.10 + Extra Modules Ubuntu 22.04 \u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u30ac\u30a4\u30c9"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"ja\">\n<head>\n  <meta charset=\"UTF-8\">\n  <title>OpenCV 4.10 CUDA\u5bfe\u5fdc\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u624b\u9806<\/title>\n  <style>\n    body { font-family: \"Noto Sans JP\", sans-serif; line-height: 1.8; }\n    code, pre { background: #f0f0f0; padding: 0.5em; display: block; }\n    h2 { border-bottom: 2px solid #444; margin-top: 2em; }\n  <\/style>\n<\/head>\n<body>\n\n<h2>\u6bce\u56de\u9762\u5012\u306a\u8a2d\u5b9a\u306a\u306e\u3067\u3001\u307e\u3068\u3081\u3066\u307f\u307e\u3057\u305f\u3002<\/h2><h2>\u2705 \u4e8b\u524d\u6761\u4ef6\uff08\u672c\u4ef6\u672a\u30c1\u30a7\u30c3\u30af\u306e\u90e8\u5206\u304c\u3042\u308a\u307e\u3059\uff09<\/h2>\n<ul>\n  <li>Ubuntu 22.04 LTS<\/li>\n  <li>CUDA 12.3\uff08<code>nvcc --version<\/code> \u3067\u78ba\u8a8d\uff09<\/li>\n  <li>Python 3.10<\/li>\n  <li>cmake-gui\uff08GUI\u3067\u8a2d\u5b9a\uff09<\/li>\n<\/ul>\n\n<h2>1. \u5fc5\u8981\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<pre><code>sudo apt update\nsudo apt install -y build-essential cmake cmake-gui git pkg-config \\\n  libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev \\\n  libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev libpng-dev \\\n  libtiff-dev gfortran openexr libatlas-base-dev python3-dev python3-numpy \\\n  libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev libgstreamer1.0-dev \\\n  libgstreamer-plugins-base1.0-dev libprotobuf-dev protobuf-compiler \\\n  libgoogle-glog-dev libgflags-dev libgphoto2-dev libeigen3-dev libhdf5-dev \\\n  doxygen qtbase5-dev\n<\/code><\/pre>\n\n<h2>2. OpenCV + Contrib \u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<\/h2>\n<pre><code>cd ~\ngit clone https:\/\/github.com\/opencv\/opencv.git\ncd opencv\ngit checkout 4.10.0\n\ncd ~\ngit clone https:\/\/github.com\/opencv\/opencv_contrib.git\ncd opencv_contrib\ngit checkout 4.10.0\n<\/code><\/pre>\n\n<h2>3. \u30d3\u30eb\u30c9\u7528\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4f5c\u6210<\/h2>\n<pre><code>cd ~\/opencv\nmkdir build\ncd build\n<\/code><\/pre>\n\n<h2>4. cmake-gui \u8a2d\u5b9a<\/h2>\n<pre><code>cmake-gui\n<\/code><\/pre>\n\n<ul>\n  <li><b>Where is the source code:<\/b> <code>\/home\/\u30e6\u30fc\u30b6\u30fc\u540d\/opencv<\/code><\/li>\n  <li><b>Where to build the binaries:<\/b> <code>\/home\/\u30e6\u30fc\u30b6\u30fc\u540d\/opencv\/build<\/code><\/li>\n<\/ul>\n\n<h3>\u300cConfigure\u300d\u5f8c\u306b\u30c1\u30a7\u30c3\u30af\u3059\u3079\u304d\u9805\u76ee<\/h3>\n<ul>\n  <li>WITH_CUDA = ON<\/li>\n  <li>OPENCV_EXTRA_MODULES_PATH = <code>\/home\/\u30e6\u30fc\u30b6\u30fc\u540d\/opencv_contrib\/modules<\/code><\/li>\n  <li>ENABLE_FAST_MATH = ON \/ CUDA_FAST_MATH = ON<\/li>\n  <li>WITH_QT = ON<\/li>\n  <li>WITH_OPENGL = ON<\/li>\n  <li>BUILD_opencv_python3 = ON<\/li>\n  <li>Python3_EXECUTABLE, LIBRARY, INCLUDE_DIR \u304c 3.10 \u306b\u5411\u3044\u3066\u3044\u308b\u304b\u78ba\u8a8d<\/li>\n  <li>BUILD_PACKAGE = ON\uff08<code>opencv4.pc<\/code> \u306a\u3069 pkg-config \u306b\u5bfe\u5fdc\uff09<\/li>\n<\/ul>\n\n<h2>5. make &#038; install<\/h2>\n<pre><code>make -j$(nproc)\nsudo make install\nsudo ldconfig\n<\/code><\/pre>\n\n<h2>6. Python\u304b\u3089\u78ba\u8a8d<\/h2>\n<pre><code>python3 -c \"import cv2; print(cv2.getBuildInformation())\"\n<\/code><\/pre>\n\n<p><code>CUDA: YES<\/code>\u3001<code>Extra modules:<\/code> \u306b\u76ee\u7684\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u3042\u308c\u3070\u6210\u529f\u3002<\/p>\n\n<h2>7. \u30c8\u30e9\u30d6\u30eb\u5bfe\u51e6<\/h2>\n<ul>\n  <li><b>CUDA not found:<\/b> CUDA_PATH \u306e\u8aa4\u308a\u3001\u74b0\u5883\u5909\u6570 <code>LD_LIBRARY_PATH<\/code> \u3092\u78ba\u8a8d<\/li>\n  <li><b>Python\u30d0\u30fc\u30b8\u30e7\u30f3\u9055\u3044:<\/b> <code>Python3_EXECUTABLE<\/code> \u306b 3.10 \u3092\u660e\u793a<\/li>\n  <li><b>pkg-config\u3067opencv4.pc\u304c\u898b\u3064\u304b\u3089\u306a\u3044:<\/b> <code>BUILD_PACKAGE=ON<\/code> \u3092\u6709\u52b9\u306b\u3057\u3066\u518d\u30d3\u30eb\u30c9<\/li>\n<\/ul>\n\n<h2>8. \u30b7\u30a7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u5316\u306e\u30d2\u30f3\u30c8<\/h2>\n<p><b>cmake-gui<\/b> \u306f\u5bfe\u8a71\u5f62\u5f0f\u306e\u305f\u3081\u30b9\u30af\u30ea\u30d7\u30c8\u306b\u3067\u304d\u307e\u305b\u3093\u304c\u3001\u4ee3\u308f\u308a\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b CMake \u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u3067\u5b9f\u73fe\u53ef\u80fd\uff1a<\/p>\n\n<pre><code>#!\/bin\/bash\nset -e\n\nOPENCV_VERSION=\"4.10.0\"\nCUDA_PATH=\"\/usr\/local\/cuda-12.3\"\nPYTHON_EXEC=$(which python3.10)\nPYTHON_INCLUDE=$(python3.10 -c \"from sysconfig import get_paths; print(get_paths()['include'])\")\nPYTHON_LIB=$(python3.10 -c \"import sysconfig; print(sysconfig.get_config_var('LIBDIR'))\")\n\ncd ~\ngit clone https:\/\/github.com\/opencv\/opencv.git\ngit clone https:\/\/github.com\/opencv\/opencv_contrib.git\ncd opencv\ngit checkout $OPENCV_VERSION\ncd ..\/opencv_contrib\ngit checkout $OPENCV_VERSION\n\nmkdir -p ~\/opencv\/build\ncd ~\/opencv\/build\n\ncmake -D CMAKE_BUILD_TYPE=RELEASE \\\n  -D CMAKE_INSTALL_PREFIX=\/usr\/local \\\n  -D WITH_CUDA=ON \\\n  -D ENABLE_FAST_MATH=ON \\\n  -D CUDA_FAST_MATH=ON \\\n  -D WITH_CUBLAS=ON \\\n  -D WITH_QT=ON \\\n  -D WITH_OPENGL=ON \\\n  -D OPENCV_EXTRA_MODULES_PATH=~\/opencv_contrib\/modules \\\n  -D BUILD_opencv_python3=ON \\\n  -D BUILD_PACKAGE=ON \\\n  -D PYTHON3_EXECUTABLE=$PYTHON_EXEC \\\n  -D PYTHON3_INCLUDE_DIR=$PYTHON_INCLUDE \\\n  -D PYTHON3_LIBRARY=$PYTHON_LIB\/libpython3.10.so \\\n  -D BUILD_EXAMPLES=OFF ..\n\nmake -j$(nproc)\nsudo make install\nsudo ldconfig\n<\/code><\/pre>\n\n<p>\u3053\u308c\u3092 <code>install_opencv.sh<\/code> \u3068\u3057\u3066\u4fdd\u5b58\u3057\u3001\u5b9f\u884c\u6a29\u9650\u3092\u4ed8\u4e0e\u3057\u3066\u304b\u3089\u5b9f\u884c\uff1a<\/p>\n<pre><code>chmod +x install_opencv.sh\n.\/install_opencv.sh\n<\/code><\/pre>\n\n<\/body>\n<\/html>\n\n","protected":false},"excerpt":{"rendered":"<p>OpenCV 4.10 CUDA\u5bfe\u5fdc\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u624b\u9806 \u6bce\u56de\u9762\u5012\u306a\u8a2d\u5b9a\u306a\u306e\u3067\u3001\u307e\u3068\u3081\u3066\u307f\u307e\u3057\u305f\u3002 \u2705 \u4e8b\u524d\u6761\u4ef6\uff08\u672c\u4ef6\u672a\u30c1\u30a7\u30c3\u30af\u306e\u90e8\u5206\u304c\u3042\u308a\u307e\u3059\uff09 Ubuntu 22.04 LTS CUDA 12.3\uff08nvcc &#8211;vers [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"saved_in_kubio":false,"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"sns_share_botton_hide":"","vkExUnit_sns_title":"","_vk_print_noindex":"","sitemap_hide":"","vkExUnit_EyeCatch_disable":"","_veu_custom_css":"","veu_display_promotion_alert":"common","vkexunit_cta_each_option":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[6],"tags":[],"class_list":["post-1563","post","type-post","status-publish","format-standard","hentry","category-programing"],"aioseo_notices":[],"veu_head_title_object":{"title":"","add_site_title":""},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/1563","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1563"}],"version-history":[{"count":2,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/1563\/revisions"}],"predecessor-version":[{"id":1565,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/1563\/revisions\/1565"}],"wp:attachment":[{"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1563"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1563"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}