0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VisualStudio2019 + OpenCV4.5.0 + CUDA10.1 + VideoCodecSDK10.0 のサンプルコード確認

Last updated at Posted at 2021-12-31

VisualStudio2019 + OpenCV4.5.0 + CUDA10.1 + VideoCodecSDK10.0 のサンプルコード確認

サンプル

  • サンプルコード
    • E:/Program/OpenCV/opencv/sources/samples
  • サンプルデータ
    • E:/Program/OpenCV/opencv/sources/samples/data
      • 以下にコピー
        • E:/Program/OpenCV/build/modules
        • E:/Program/OpenCV/build/samples

/gpu

alpha_comp.cpp

  • アルファ合成
    • #include "opencv2/cudaimgproc.hpp"
      • cv::cuda::alphaComp

bgfg_segm.cpp

  • 動画の読み込み
    • #include "opencv2/video.hpp"
      • cv::VideoCapture cap
  • 背景差分
    • #include "opencv2/cudabgsegm.hpp"
      • cv::cuda::createBackgroundSubtractorMOG
      • cv::cuda::createBackgroundSubtractorMOG2
    • mog->apply(d_frame, d_fgmask, 0.01)
      • 動画から黒背景、白動体を出力する
    • mog->getBackgroundImage(d_bgimg)
      • 動画から動体を除く背景を出力する
    • d_frame.copyTo(d_fgimg, d_fgmask)
      • 動画から動体を切り出し出力する

cascadeclassifier.cpp

  • コマンドライン引数
    • --cascade E:/Program/OpenCV/opencv/sources/data/haarcascades_cuda/haarcascade_frontalface_alt.xml E:/Program/OpenCV/opencv/sources/samples/winrt/FaceDetection/FaceDetection/Assets/group1.jpg
  • 顔認識
    • #include "opencv2/cudaobjdetect.hpp"
      • cv::cuda::CascadeClassifier

farneback_optical_flow.cpp

  • フレーム間の動体の移動量
    • #include "opencv2/cudaoptflow.hpp"
      • cv::cuda::FarnebackOpticalFlow
  • GpuMatの配列(InputOutputArray)を分割する
    • #include "opencv2/cudaarithm.hpp"
      • cv::cuda::split

generalized_hough.cpp

  • E:/Program/OpenCV/opencv/sources/samples/data/templ.png
    • 以下にコピー
      • E:/Program/OpenCV/build/samples/gpu
  • コマンドライン引数
    • --gpu --votesThreshold=200
  • 汎用化ハフ変換を使用して任意のオブジェクトを検索する
    • #include "opencv2/cudaimgproc.hpp"
      • cv::cuda::createGeneralizedHoughBallard
      • cv::cuda::createGeneralizedHoughGuil

hog.cpp

  • コマンドライン引数
    • --video ../data/vtest.avi
  • 動体検知
    • #include "opencv2/cudaobjdetect.hpp"
      • cv::cuda::HOG

houghlines.cpp

  • エッジ検出
    • #include "opencv2/imgproc.hpp"
      • cv::Canny
  • ハフ変換を使用したライン検出
    • #include "opencv2/cudaimgproc.hpp"
      • cv::cuda::createHoughSegmentDetector

morphology.cpp

  • 画像の膨張・収縮によるノイズ除去
    • #include "opencv2/cudafilters.hpp"
      • cv::cuda::createMorphologyFilter

multi.cpp

  • マルチCUDAデバイス
    • 環境なし

pyrlk_optical_flow.cpp

  • コマンドライン引数
    • --left=../data/basketball1.png --right=../data/basketball2.png
  • 特徴点検出
    • #include <opencv2/cudaimgproc.hpp>
      • cv::cuda::createGoodFeaturesToTrackDetector
  • Lucas-Kanade法を用いたフレーム間の動体の移動量
    • #include <opencv2/cudaoptflow.hpp>
      • cv::cuda::SparsePyrLKOpticalFlow
      • cv::cuda::DensePyrLKOpticalFlow

stereo_match.cpp

  • コマンドライン引数
    • --left ../data/aloeL.jpg --right ../data/aloeR.jpg --ndisp 120
  • 視差画像を用いた奥行き推定
    • #include "opencv2/cudastereo.hpp"
      • cv::cuda::StereoBM
      • cv::cuda::StereoBeliefPropagation
      • cv::cuda::StereoConstantSpaceBP

stereo_multi.cpp

  • コマンドライン引数
    • ../data/aloeL.jpg ../data/aloeR.jpg
  • マルチCUDAデバイス
    • 環境なし

super_resolution.cpp

  • コマンドライン引数
    • --video=../data/vtest.avi --output=../data/vout.avi --gpu=cuda
  • 入力信号の解像度を高めて出力信号を作る
    • #include "opencv2/superres/optical_flow.hpp"
      • cv::superres::createOptFlow_Farneback_CUDA
      • cv::superres::createOptFlow_DualTVL1_CUDA
      • cv::superres::createOptFlow_Brox_CUDA
      • cv::superres::createOptFlow_PyrLK_CUDA
    • #include "opencv2/superres.hpp"
      • cv::superres::createSuperResolution_BTVL1_CUDA
      • cv::superres::createFrameSource_Video_CUDA
    • 1フレーム目:106sec
      • 以降:18sec

surf_keypoint_matcher.cpp

  • コマンドライン引数
    • --left ../data/box.png --right ../data/box_in_scene.png
  • 二枚の画像の特徴点のマッチング
    • #include "opencv2/cudafeatures2d.hpp"
      • cv::cuda::DescriptorMatcher::createBFMatcher

video_reader.cpp

  • コマンドライン引数
    • ../data/Megamind.avi
  • 動画の読み込み
    • #include <opencv2/cudacodec.hpp>
      • cv::cudacodec::createVideoReader

video_writer.cpp

  • コマンドライン引数
    • ../data/Megamind.avi
  • エラー
    • E:/Program/OpenCV/opencv_contrib-4.5.0/modules/cudacodec/src/video_writer.cpp

      • #if !defined(HAVE_NVCUVENC) || !defined(_WIN32)
      OpenCV(4.5.0) E:\Program\OpenCV\opencv\sources\modules\core\include\opencv2/core/private.cuda.hpp:112: error: (-213:The function/feature is not implemented) The called functionality is disabled for current build or platform in function 'throw_no_cuda'
      
    • https://github.com/opencv/opencv/issues/18271

/cpp/tutorial_code/gpu

gpu-basics-similarity.cpp

  • コマンドライン引数
    • ../data/basketball1.png ../data/basketball2.png 10
  • 画質評価
    • PSNR(Peak signal-to-noise ratio)
      • CPU
      • CUDA
      • CUDA(GpuMat再利用)
    • SSIM(Structural Similarity)
      • CPU
      • CUDA
      • CUDA(GpuMat再利用)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?