1 EDITORIAL:
OpenCV3エントリ-学習教材を言えば、最初の推薦真央Xingyunは「OpenCV3プログラミングエントリ」本を編集しなければならない、この本は非常に適しOpenCV3主な内容の内容と完全な概要が簡単で明白な動きではなく、理論と実践深すぎるが、豊富です参照の子どもの学習ポータルと視覚処理は、与えられた本をダウンロードすることができます下のHDは、PDFリンクやソースコードのリソースをタグ付け
:Baiduは、ディスクのダウンロードリンククラウドブックとタグ付きPDFとソースの真央Xingyun高精細バージョンを「プログラミングにOpenCV3概要」
2内容:
OpenCVのは、コンピュータビジョンの分野で重要な役割を果たしています。クロスプラットフォームとしてオープンソースのコンピュータビジョンライブラリの問題、OpenCVのに基づいて画像処理とコンピュータビジョンの多くの一般的なアルゴリズムを実現しています。パワフルなパフォーマンスを紹介するのは簡単、インデックスのコアモジュールのOpenCVの最も一般的なコンポーネントの最新バージョンへの「OpenCV3エントリをプログラミング」、および新機能でOpenCV2とOpenCV3。書籍やサンプルコードパッケージの支持OpenCV2 OpenCV3ダブルバージョン、ソースコードと200以上の詳細な説明説明の合計含有考えます。読者は、技術的な方向によって迅速かつ徹底的な調査を始めるために、あなたが欲しいものを見つけることができます。
研究者「OpenCV3プログラミングエントリーは、」読者がコンピュータビジョンの研究や生徒と教師の関連分野、最初の接触OpenCVのために、基本的なC / C ++の知識を持っていますが、いくつかのC / C ++プログラミングの基礎を持っている、とOpenCVの1.0があったが必要です経験をプログラミングするとすぐに開始したい理解し、コンピュータビジョンopenCV2、OpenCV3プログラミングの分野の専門家。「OpenCV3プログラミングエントリ」は、画像処理、コンピュータビジョンアマチュア、新しいOpenCVのリファレンスマニュアル使用につながるオープンソースプロジェクトとして愛好家に適しています。
3冊のカタログ:
クイックスタート最初の部分OpenCVの1
第1章出会いOpenCVの3
認知の概念を取り巻く1.1 OpenCVの4
1.1.1画像処理、コンピュータビジョンとOpenCVの4
1.1.2 OpenCVの概要4
1.1.3 5の起源と発展
1.1.4アプリケーションの概要6
1.2 OpenCVの基本的な枠組みの分析7
1.3 OpenCV3は何をもたらした11
1.3.1プロジェクト11のアーキテクチャを変更します
1.3.2いくつかの戦略にOpenCV2コードをアップグレードするときOpenCV3エラー12
1.4 OpenCVのダウンロード、インストールと設定14
1.4.1事前準備:ダウンロードしてインストールする統合開発環境14
1.4.2ステップ1:ダウンロードしてインストールOpenCVのSDK 15
1.4.3ステップ2:設定環境変数16
1.4.4ステップ3:プロジェクトには、(含める)ディレクトリ構成17
1.4.5ステップ4:設定エンジニアリングライブラリ(LIB)ディレクトリ21
1.4.6ステップ5:Configure]リンクライブラリ22
1.4.7ステップ6:Windowsの25でOpenCVのダイナミックリンクライブラリフォルダを追加します。
1.4.8ステップ7:最終テスト26
1.4.9問題点と解決策5月27日の出会い
1.5クイックスタートOpenCVの画像処理28
1.5.1最初のプログラム:画像表示29
1.5.2第2のプログラム:30枚の画像腐食
1.5.3第3のプログラム:ボケ画像31
1.5.4第プログラム:キャニーエッジ検出32
ビデオの操作34 1.6 OpenCVのベース
動画34を読み込み、再生する1.6.1
1.6.2コールカメラ画像の取得35
1.7まとめ38
出発の39の前に認知準備の第2章
2.1 OpenCVのルーチン公式ガイドと感謝40
2.1.1色の追跡:CAMSHIFT 41
2.1.2オプティカルフロー:オプティカルフロー42
2.1.3点追跡:lkdemo 43
2.1.4顔認識:objectDetection 43
2.1.5 SVMガイド44
2.2オープンソースの魅力:コンパイルOpenCVのソースコード45
2.2.1をダウンロードしてインストールしCMakeの45
2.2.2使用CMakeのは、OpenCVのソースコードのエンジニアリングソリューション46を生成します
2.2.3コンパイルソースコード50 OpenCVの
2.3 "opencv.hpp" 認知ヘッダ53
2.4命名規則54
2.5 ARGCおよびargvパラメータ56を疑います
2.5.1知人主機能ARGCおよびargv 56
2.5.2のargc、57を意味ARGV特定
主な機能の説明では、いくつか書かれた2.5.3のVisual Studio 58
59 2.5.4概要
2.6出力フォーマット関数のprintf()59の分析
2.6.1出力フォーマット:のprintf()関数59
2.6.2サンプルプログラム:のprintf関数の使用例60
2.7スマートディスプレイOpenCVのバージョンは、現在61を使用しています
2.8概要61
第3章のHighGUIグラフィカル・ユーザー・インターフェース予備63
3.1ローディング画像、ファイルにディスプレイ64と出力
名前空間3.1.1 OpenCVの64
クラス3.1.2マットの64点の分析
負荷と表示画像65の3.1.3概要
3.1.4ロード画像:関数imread()関数65
3.1.5表示された画像:関数imshow()関数66
3.1.6約67種類InputArray
3.1.7ウィンドウを作成します。namedWindow()関数67
3.1.8ファイルへの出力画像:関数imwrite()関数68
3.1.9総合サンプル・プログラム:画像、表示及び出力70をロード
スライダー73を作成して使用する3.2
3.2.1スライダー:createTrackbar()関数73
3.2.2バーの現在のトラック位置を取得:getTrackbarPos()関数76
3.3マウス76
3.4まとめ80
コア組立体83の第二の部分に
第4章OpenCVの基本的なグラフィックス・データ構造85
4.1ベースイメージコンテナマット86
86 4.1.1デジタル画像保存の概要
4.1.2マット構造86を使用します
4.1.3ピクセル値88を格納する方法
7つの方法4.1.4明示的にマットオブジェクト89を作成します
この方法は、OpenCVの91の出力4.1.5をフォーマットし
4.1.6他の一般的な出力データ構造94
4.1.7例:コンテナ・クラスマットの使用、ベース画像95
4.2 95共通データ構造と機能
4.2.1ポイントが表す:Pointクラス96
4.2.2カラー表現スカラークラス96
4.2.3サイズ表される:サイズクラス96
4.2.4矩形は表しますのRectクラス97
4.2.5色空間変換:cvtColor()関数98
4.2.6その他の一般的な知識100
100レンダリング4.3基本的なグラフィックス
4.3.1 DrawEllipse()関数101を書きます
4.3.2 DrawFilledCircle()関数102を書き込みます
4.3.3 DrawPolygon()関数102を書き込みます
4.3.4 DrawLine()関数103を書きます
4.3.5主な機能は、104書き込まれます
4.4概要106
第5章コアアセンブリ107アドバンスド
画像中の5.1アクセス108ピクセル
画像保存用メモリ108に5.1.1
5.1.2色空間の削減108
機能5.1.3 LUT:ルックアップテーブルの操作109
5.1.4タイミング関数110
5.1.5 3つのアクセス方法イメージ110個のピクセル
5.1.6プログラム例114
混合&5.2 ROI領域画像114重畳画像
関心の5.2.1エリア:ROI 115
5.2.2線形混合操作116
そして、重み付けされた配列を計算5.2.3:addWeighted()関数117
包括的な例5.2.4:主画像120を混合します
5.3別のカラーチャネル、マルチチャネル画像ブレンディング125
5.3.1チャネル分離:スプリット(機能125)
5.3.2チャンネルマージ:併合()関数126
5.3.3プログラム例:127混合マルチチャネル画像
5.4画像のコントラスト、明るさ調整値131
5.4.1 131の理論的基礎
5.4.2アクセス131ピクセル画像
5.4.3プログラム例:画像のコントラスト、明るさ調整値132
5.5離散フーリエ変換は135トランスフォーム
原則135 5.5.1離散フーリエ変換
5.5.2 DFT()関数136を詳細
5.5.3最適なリターンDFTサイズ:getOptimalDFTSize()関数137
5.5.4拡張画像の境界:copyMakeBorder()関数137
マグニチュード()関数138 2次元ベクトルの大きさの計算5.5.5
5.5.6自然対数:ログ()関数138
5.5.7マトリックスの正規化:正規化()関数138
5.5.8プログラム例:離散フーリエ変換139
5.6入出力XMLとYAMLファイル144
5.6.1 XMLとYAMLファイルの紹介144
操作ガイドファイル144を使用して5.6.2ファイル記憶クラス
5.6.3サンプルプログラム:ライティングYAMLとXMLファイル147
5.6.4サンプルプログラム:148 XMLを読み、YAMLファイル
5.7概要150
マスターimgprocアセンブリ151の第3の部分
第6章画像処理153
6.1線形フィルタリング:ブロック・フィルタリング、平均フィルタリング、ガウシアンフィルタ154
6.1.1平滑化処理154
フィルタ154 6.1.2と画像フィルタリング
線形フィルタ155の6.1.3はじめに
6.1.4フィルタおよびファジー155
フィルタ155近隣線形6.1.5近傍演算子
6.1.6フィルタブロック(ボックスフィルタ)156
6.1.7平均フィルタ157
6.1.8ガウスフィルター159
関連する線形フィルタリング源160のOpenCVの6.1.9分析
GaussianBlurで6.1.10 OpenCVのソースコード解析機能164
6.1.11線形フィルタリングコアAPI関数165
6.1.12実施例の画像リニア170をフィルタリングします
6.2非線形フィルタリング:メディアンフィルタ、バイラテラルフィルタ175
6.2.1概要非線形フィルタ175
6.2.2メディアンフィルタリング175
6.2.3バイラテラルフィルタリング177
コアAPI 178に関連6.2.4非線形フィルタリング関数
包括的な例181における画像フィルタリングの6.2.5 OpenCVの5種類
6.3形態学的フィルタリング(1):187腐食膨張
187 6.3.1形態の概要
188 6.3.2拡張
189 6.3.3腐食
トレーサビリティ190に関連6.3.4 OpenCVのソースコード解析
6.3.5関連するコアAPI関数191を説明します
6.3.6総合例:腐食と195の拡大
6.4形態学的フィルタリング(2):開口部、開閉操作、形態学的勾配、トップハット、ブラックハット198
6.4.1開操作199
6.4.2閉鎖動作200
6.4.3形態グラデーション200
オーバーキャップ201 6.4.4
202 6.4.5ブラックハット
形態学的フィルタリングトレーサブル源203のOpenCVの6.4.6分析
6.4.7コアAPI関数:morphologyEx()205
様々な形態学的操作のリスト206を用いて、実施例6.4.8
総合例6.4.9:モルフォロジーフィルタ208
びまん水が214 6.5を満たし
6.5.1定義された拡散水214を充填しました
方法6.5.2拡散水の基本的な考え方は、214を満たしました
FLOODFILL機能214:びまん注水アルゴリズムを達成6.5.3
総合例6.5.4:びまん性水が216を満たしました
画像サイズスケーリング223と6.6画像ピラミッド
6.6.1はじめに223
画像ピラミッド223上の6.6.2
6.6.3ガウスは225をピラミッド
6.6.4ラプラシアンは226をピラミッド
6.6.5リサイズ:リサイズ()関数227
画像ピラミッド230に関連6.6.6 API関数
6.6.7総合例:ピラミッド画像スケーリングと画像サイズ234
6.7しきい値237
6.7.1動作固定閾値:閾値()関数238
6.7.2適応閾値化操作:adaptiveThreshold()関数239
6.7.3プログラム例:基本的なしきい値操作240
6.8概要244
第7章イメージは247を変換します
7.1 248エッジ検出に基づいて、OpenCVの
7.1.1一般的手順エッジ検出248
7.1.2キャニー演算子248
7.1.3ソーベルオペレータ253
7.1.4ラプラス演算子256
7.1.5 scharrフィルタ259
総合例7.1.6:エッジ検出262
7.2ハフ変換267
ハフ267 7.2.1の概要を変換
7.2.2 OpenCVのハフは、ライン268を変換します
原理7.2.3ハフは、ライン268を変換します
7.2.4標準的ハフ変換:HoughLines()関数270
ハフ変換7.2.5累積確率:HoughLinesP()関数272
7.2.6ハフ円274変換
原理7.2.7ハフ勾配法275
7.2.8欠点ハフ276勾配法
7.2.9円形ハフ変換:HoughCircles()関数276
7.2.10総合例:ハフ変換278
7.3再マッピング281
7.3.1 281の再マッピングの概念
7.3.2実装再マッピング:リマップ()関数282
例7.3.3ベースのプログラム:基本リマップ283
7.3.4総合的なサンプルプログラム:285を再マッピング多様性を達成するために
7.4アフィン変換289
7.4.1理解アフィン変換289
7.4.2アフィン変換290を求める方法
7.4.3アフィン変換:warpAffine()関数291
7.4.4 2D回転変換行列計算:getRotationMatrix2D()関数292
7.4.5プログラム例:アフィン変換292
7.5ヒストグラム等化295
7.5.1ヒストグラム均等化の概念と機能296
7.5.2ヒストグラム等化を実装:()関数297をequalizeHist
7.5.3例:ヒストグラムイコライゼーション298
7.6概要300
第8章プロファイル画像復元及び画像セグメンテーション303
検索と輪郭を描画304 8.1
8.1.1みる概要:findContours()関数304
8.1.2輪郭:drawContours()関数305
8.1.3基本的なサンプルプログラム:プロフィール検索306
8.1.4総合的なサンプル・プログラムは:308を検索し、輪郭
8.2オブジェクトの凸包312を探します
8.2.1 凸包 312
凸包()関数313:凸包8.2.2を探し
実施例8.2.3ベースのプログラム:検出ベース凸船体313
8.2.4総合例:発見とオブジェクトの凸包315を描きます
8.3多角形の輪郭318取り囲み
boundingRect()関数318:外部長方形の境界を返す8.3.1
8.3.2最小外接矩形検索:minAreaRect()関数318を
8.3.3最小囲むサークルを探す:minEnclosingCircle()関数318
8.3.4楕円点の2次元のセットを用いてフィッティング:fitEllipse()関数319を
8.3.5多角形近似曲線:approxPolyDP()関数319
8.3.6基本的なサンプルプログラム:境界輪郭319を囲む矩形を作成します。
8.3.7基本的なサンプルプログラム:円形境界321に囲まれたプロファイルを作成します。
8.3.8総合例:使用324に囲まれた多角形の輪郭
モーメント画像327 8.4
瞬間の8.4.1計算:瞬間()関数328
アウトラインエリアの8.4.2計算:contourArea()関数328
8.4.3計算輪郭長:弧長()関数328
8.4.4総合的なサンプルプログラム:画像モーメント329の概要を見つけて描画します
8.5流域アルゴリズム333
8.5.1流域のアルゴリズムを実装:流域()関数334
8.5.2総合的なサンプルプログラム:流域アルゴリズム334
8.6 338修理画像
8.6.1達成画像パッチ:inpaint()関数340は
8.6.2総合的なサンプルプログラム:パッチ341枚の画像
8.7概要343
第9章ヒストグラムマッチング345
ヒストグラム9.1概要346
9.2計算とヒストグラムを描く347
9.2.1ヒストグラムが計算されます。calcHist()関数347
9.2.2最大の価値を見つける:minMaxLoc()関数348
9.2.3プログラム例:プロットヒストグラムH-S 348
9.2.4プログラム例:画像をレンダリングし、一次元ヒストグラム350を算出します
9.2.5例:三色のRGBヒストグラム図352
9.3比較ヒストグラム355
9.3.1ヒストグラムの比較:compareHist()関数355
9.3.2例:ヒストグラムの比較356
9.4 360逆投影
9.4.1はじめに360
9.4.2 360の後方への投影作品
9.4.3効果は361を逆投影しました
9.4.4結果は、361を逆投影しました
9.4.5計算逆投影:calcBackProject()関数361
9.4.6チャンネルコピー:mixChannels()関数362
9.4.7包括的なプログラム:背面投影363
9.5テンプレートマッチング367
概念と原則367の9.5.1テンプレートマッチング
9.5.2実装テンプレートマッチング:matchTemplate()関数367は
9.5.3総合例:テンプレートマッチ369
9.6概要373
第四成分をさらにfeature2d 375
第10章377コーナー検出
10.1ハリスのコーナー検出378
関心と378の10.1.1コーナーポイント
10.1.2コーナー検出378
10.1.3ハリスのコーナー検出379
10.1.4達成ハリスコーナー検出:cornerHarris()関数379
総合例10.1.5:ハリスのコーナー検出とレンダリング381
10.2 Shi-Tomasi角点检测 384
384概要10.2.1市-Tomasiのコーナー検出
goodFeaturesToTrack()関数384:画像強度コーナー10.2.2を決定します
総合例10.2.3:市-Tomasiのコーナー検出385
10.3サブピクセルコーナー検出388
388 10.3.1背景の概要
cornerSubPix()関数389:サブピクセルコーナー10.3.2を探し
総合例10.3.3:コーナー検出サブピクセル389
10.4まとめ392
第11章マッチング特徴検出395
11.1 SURF特徴点検出器396
396 11.1.1 SURFアルゴリズムの概要
11.1.2 SURFアルゴリズム原理396
11.1.3 SURFクラス関連OpenCVのソースコード解析400
11.1.4描画キー:drawKeypoints()関数401
11.1.5キーポイントクラス402
11.1.6プログラム例:SURF特徴点検出部402
11.2 SURF特徴抽出405
11.2.1延伸マッチング点:drawMatches()関数405
11.2.2 BruteForceMatcherクラスのソースコード分析407
11.2.3プログラム例:SURF特徴抽出408
特徴点のマッチング410を使用して11.3 FLANN
クラス410 11.3.1 FlannBasedMatcherの簡単な分析
DescriptorMatcher :: matchメソッド411:ベストマッチを見つける11.3.2
実施例11.3.3:使用FLANN一致特徴点411
11.3.4総合サンプル・プログラム:FLANNはSURFキーポイントの説明と整合413に関連して行います
11.3.5総合サンプル・プログラム:SIFTは、暴力と一致すると説明したキーポイント417を抽出します
既知のオブジェクト420のための11.4
11.4.1探し透視変換:findHomography()関数421
11.4.2参照マトリクス変換:perspectiveTransform()関数421
11.4.3プログラム例:既知のオブジェクト422
特徴抽出425 11.5 ORB
425 11.5.1 ORBアルゴリズムの概要
11.5.2認知概念425
11.5.3 ORBソースコードまたは関連簡単分析426
11.5.4プログラム例:ORBのアルゴリズム記述及び426と一致
11.6まとめ430
付録433
サンプルプログラムパッケージ433 A1リスト
A2ブックは、追加プログラムの概要436が付属しています
439冊カーネルのA3リスト
A4マットクラスの関数リスト442
A4.1コンストラクタ:マット::マット442
A4.2デストラクタマット::〜マット444
A4.3マットクラスのメンバ関数444
主な参考文献447