https://blog.csdn.net/bobo184/article/details/88749651
はじめに
著者の環境を:win10 + vs2015 + cmake3.8.2
公式サイトの指示に従って、4.0.0の下に新しい機能を導入します:
バージョン3.0の約3.5年のリリース後、我々は最初の安定バージョン4.xシリーズを起動して喜んでいます。
バージョンの特徴:
OpenCVのは、あなたが互換性のあるC ++ 11の標準のコンパイラである必要があり、C ++ 11個のライブラリになりました。最低限必要なCMakeのバージョンが3.5.1にアップグレードされました。
CのAPIの多くのOpenCVの1.1が削除された
コアモジュールの連続で(貯蔵およびXML構造化データをロード、にYAMLまたはJSON)完全にC ++で再実装されており、また、C APIを除去しました。
新しいモジュールG-APIを追加するには、画像処理エンジンに基づいて、非常に効率的なグラフィックス・パイプラインとして機能することができます。
DNNモジュールOpenVINO™キットR4は深い学習展開キット(ディープラーニングDeployment Toolkitの)更新されています。DLDTのOpenCVのサポートを構築し、使用方法についてのガイダンスを参照してください。
DNNモジュールは現在、実験的なバルカンバックエンドとサポートネットワークONNXフォーマットが含まれています。
オンラインショップフュージョン人気のアルゴリズムが実装され、CPUとGPU(OpenCLの)のために最適化されている
に加えobjdetect QRコード検出及び図デコーダモジュール
DIS密なオプティカルフローアルゴリズム進むopencv_contribから映像に高効率かつ高品質をモジュール。
詳細はで発表する前に見つけることができます:4.0-α、4.0-β 、4.0-RC および更新ログ
1は、ダウンロードは
公式サイトのgithubのか、OpenCVのOpenCVの上でダウンロードすることができ、私はGitHubの上ダウンロードしてください。
ダウンロード拡張
以下のように、OpenCVのGitHubのを開きます。
(彼はコンパイルされませんCVプレイが動作しません)アンパック、あなたがコンパイルを開始することができますダウンロード:
2、コンパイルcmakeの
、OpenCVのディレクトリに新しいフォルダnewbuildを作成し、結果の次のコンパイルは、このディレクトリに保存されます。
(1)cmakeの設定と生成
いくつかの時間を待ち、
その後のcontribモジュールを追加し、Generateをクリックします
行って生成し、いくつかの時間を待っては、すべての赤はないでしょうか、だけ再構築することができます。
(2)インストールコンパイル対
newbuildの下でオープンOpenCV.slnファイルを、
、CmakeTargetsの下にインストール生成]をクリックし、右クリック見つかり、前のステップのすべては、このステップのためのもの、それはああ報わ。。。
おそらく、約15〜20分を生成します。
......
すべての迅速な成功、そして実際に6が渡されていないがされて、ああ不快、信仰は、その上に起動し、アイデアをあきらめないで放棄しません。
しかし、私は4回、心臓ストッパーINGまで、この手順を繰り返して、6が何度も繰り返し、合格長い時間のための情報のブログをチェックしていない、一部の人が先に行く、だけでなく、使用に影響を与えると言う残っています。
(3)再設定OpenCVの、環境変数/依存関係、およびので、
ここでは非常に多くの家庭で、そして以前のバージョンを、
パスに環境変数を追加します。
その後オープンvs2015、プロパティマネージャを開いて、
最初にデバッグのx64をクリックしてプロパティを開きます
これは、ディレクトリが含まれています、\ opencv2を含める\ \ includeおよびインストールインストールインストール真上に生成されます
その後、次のリンカを入力します。
dのLIBファイルがデバッグモードになって、前工程と同様、あまりにも必要に応じて、著者はリリースモード、デバッグモードでコンパイルされていないリリースは、そこにあります。
opencv_aruco400d.lib opencv_bgsegm400d.lib opencv_bioinspired400d.lib opencv_calib3d400d.lib opencv_ccalib400d.lib opencv_core400d.lib opencv_datasets400d.lib opencv_dnn_objdetect400d.lib opencv_dnn400d.lib opencv_dpm400d.lib opencv_face400d.lib opencv_features2d400d.lib opencv_flann400d.lib opencv_fuzzy400d.lib opencv_hfs400d.lib opencv_highgui400d.lib opencv_img_hash400d.lib opencv_imgcodecs400d.lib opencv_imgproc400d.lib opencv_line_descriptor400d.lib opencv_ml400d.lib opencv_objdetect400d.lib opencv_optflow400d.lib opencv_phase_unwrapping400d.lib opencv_photo400d.lib opencv_plot400d.lib opencv_reg400d.lib opencv_rgbd400d.lib opencv_saliency400d.lib opencv_shape400d.lib opencv_stereo400d.lib opencv_stitching400d.lib opencv_structured_light400d.lib opencv_superres400d.lib opencv_surface_matching400d.lib opencv_text400d.lib opencv_tracking400d.lib opencv_video400d.lib opencv_videoio400d.lib opencv_videostab400d.lib opencv_xfeatures2d400d.lib opencv_ximgproc400d.lib opencv_xobjdetect400d.lib opencv_xphoto400d.lib
そして、ライン上で決定します。
(4)試験
新規プロジェクト - 追加のソースファイル - 簡単なコード(特徴検出をふるいにかけます)
コードは以下の通りであります:
書式#include <iostreamの> 書式#include <ベクトル> 書式#include <opencv2 / xfeatures2d.hpp> 書式#include <opencv2 / xfeatures2d / nonfree.hpp> 書式#include <opencv2 / highgui.hpp> 名前空間の品種を使用しました。 名前空間stdを使用。 メインint型() { マットSRC =関数imread( "F:/vs_test/lena.jpg"); (src.data == NULL)の場合 { 裁判所未満<< "いいえが存在" <<てendl; -1を返します。 } namedWindow( "入力画像"、WINDOW_AUTOSIZE)。 namedWindow( "出力画像"、WINDOW_AUTOSIZE)。 関数imshow( "入力画像"、SRC)。 PTRは<Feature2D> = xfeatures2d :: SIFT ::作成(400)取捨選択; //パラメータより高い精度ブラケット、カスタム ベクトル<のKeyPoint> keypointsa。 マット; sift->detectAndCompute(src, noArray(), keypointsa, a); //得到特征点和特征点描述 drawKeypoints(src, keypointsa, src);//画出特征点 //显示 imshow("output image", src); waitKey(); return 0; }