1. ホーム
  2. OpenCV

C++ベースのOpenCV共通関数

2022-02-15 08:05:53

<スパン

C++版のメリット。

1.ポインタのような危険なものを極力避けることができる点。

2、リソースの解放に悩む必要はない。なぜなら、そのデストラクタの内部では、システムが自動的にそれを処理してくれるからだ。

3. 場合によっては、C言語版よりも高速に動作します。

をインクルードする。 を使って 名前空間  cv ;

1. imread(cvLoadImage) : ファイルから画像を読み込む。

imshow(cvShowImage) : 指定された幅に画像を表示します.

waitKey(cvWaitKey): 押されたキーを待ちます.

4. cvtColor(cvCvtColor): 画像をある色空間から別の色空間に変換する.

reduce(cvReduce): 行列をベクトルに変換します.

6. minMaxLoc(cvMinMaxLoc): 配列全体あるいは部分配列における,大域的な最小値と最大値を求めます.

7. namedWindow(cvNamedWindow) :ウィンドウを作成します.

8. destroyWindow(cvDestroyWindow): ウィンドウを破棄します.

9. destroyAllWindows(cvDestroyAllWindows): すべての HighGUIwindows を破棄します.

10. imwrite(cvSaveImage): 指定されたファイルに画像を保存します.

11. resize(cvResize): 画像のサイズを変更します.

12. pyrDown(cvPyrDown): 画像をぼかし,ダウンサンプリングします.

13. pyrUp(cvPyrUp): 画像をアップサンプリングして、ぼかします。

14. threshold(cvThreshold): 配列の各要素に固定レベルの閾値を適用します.

15. adaptiveThreshold(cvAdaptiveThreshold): 配列に適応的な閾値を適用します.

16. VideoCapthure::open(cvCaptureFromFile): ビデオファイルあるいはキャプチャデバイスを開き、ビデオキャプチャを行います。

17. VideoCapture::isOpened: ビデオキャプチャがすでに初期化されている場合、true を返します。

18. VideoCapture::release(cvReleaseCapture) : ビデオファイルやキャプチャデバイスを閉じます.

19. VideoCapture::grab(cvGrabFrame): ビデオファイルあるいはキャプチャデバイスから,次のフレームを取得します.

20. VideoCaputre::retrieve(cvRetrieveFrame): 取得したビデオフレームをデコードして返します.

21. 21. VideoCapture::read(cvQueryFrame): 次のビデオフレームを取得し、デコードして返します。

22. VideoCapture::get(cvGetCaptureProperty): 指定された VideoCapture プロパティを返します.

23. VideoCapture::set(cvSetCaptureProperty): VideoCapture にプロパティを設定します.

24. VideoWriter:: open: ビデオライターを初期化または再初期化する。

25. VideoWriter::isOpened: ビデオライターの初期化に成功した場合、true を返す。

26. VideoWriter::write: 次のビデオフレームを書き込む。

27. Mat::row: 指定された行列の行に対する行列ヘッダを作成します.

28. mat::col: 指定された行列の列に対する行列ヘッダを作成します.

29. Mat::rowRange: 指定された範囲内の行に対する行列ヘッダを作成します.

30. Mat::colRange: 指定された col スパンに対する行列ヘッダを作成します.

31. Mat::diag: 行列から対角を抽出、または対角行列を作成します。

32. Mat::clone: 配列とその基礎となるデータの完全なコピーを作成します.

33. Mat::copyTo(cvCopy): 行列を別の行列にコピーします.

34. Mat::convertTo(cvConvertScale): 配列を,オプションのスケーリング付きで別のデータ型に変換します.

35. Mat::assignTo: は,convertTo の関数形式を提供します.

36. Mat::setTo: 配列の要素のすべて,または一部を指定された値に設定します.

37. Mat::reshape: データをコピーすることなく,2 次元行列の形状やチャンネル数を変更します.

38. Mat::t: 行列の転置を行います.

39. Mat::inv: 行列の逆行列を求めます.

40. mat::mul: 2 つの行列の要素ワイズマルチプライまたは除算を実行します。

mat::cross: 2 つの 3 要素ベクトルの外積を計算する。

42. Mat::dot: は,2 つのベクトルの内積を求めます.

mat::zeros: 指定されたサイズと型のゼロの配列を返します。

44. mat::ones: 指定されたサイズと型の、すべての 1 からなる配列を返します。

45. Mat::eye: 指定されたサイズと型の単位行列を返します.

46. Mat::create: 必要に応じて新しい配列データを確保します.

47. mat::addref: 参照カウンタをインクリメントします。

48. mat::release: 参照カウンタをデクリメントし,必要ならば行列の解放を行います.

49. Mat::resize: 行列の行数を変更します.

50. Mat::reserve: 指定された数の行のための領域を確保します.

51. Mat::push_back: 要素を行列の末尾に追加します.

52. Mat::pop_back: 行列の底部から要素を削除します.

53. Mat::locateROI: 親行列内の行列ヘッダの位置を指定します.

54. Mat::adjustROI: サブマトリックスのサイズと親マトリックス内での位置を調整します.

55. Mat::operator: 直方体サブマトリクスを抽出します.

56. Mat::operatorCvMat: 行列に対する CvMat ヘッダを作成します.

mat::operatorIplImage: 行列に対して IplImage ヘッダを作成します。

mat::total: 配列の要素の総数を返します.

59. Mat::isContinuous: 行列が連続であるか否かを報告します.

60. Mat::elemSize: 行列の要素サイズをバイト単位で返します.

61. Mat::elemSize1: 各行列要素のチャンネル毎のサイズをバイト単位で返します.

62. Mat::type: 行列要素の種類を返します.

63. Mat::depth: 行列要素の深さを返します.

64. Mat::channels: 行列のチャンネル数を返します.

65. Mat::step1: 正規化されたステップを返します.

66. Mat::size: 行列の大きさを返します.

67. Mat::empty: 配列が要素なしである場合に true を返します.

68. Mat::ptr: は,指定された行列の行へのポインタを返します.

69. Mat:: a t: 指定された配列要素への参照を返します。

mat::begin: 行列のイテレータを返し、それを最初の行列要素に設定します。

71. Mat::end: 行列イテレータを返し,それを最後から二番目の行列要素にセットします.

72. calcHist(cvCalcHist) : 配列の集合のヒストグラムを計算します.

73. compareHist(cvCompareHist): 2つのヒストグラムを比較します.

74. イコライズヒスト (cvEqualizeHist) :アグレイスケール画像のヒストグラムを均等化します.

75. normalize: 配列のノルムまたは値域を正規化する。

76. CascadeClassifier:: CascadeClassifier: ファイルからクラシファイアをロードします。

77. CascadeClassifier::empth: 分類子がロードされたかどうかをチェックします。

78. CascadeClassifier::load(cvLoadHaarClassifierCascade): ファイルから分類器をロードします.

79. CascadeClassifier::read: FileStorage ノードから分類器を読み込む。

80. CascadeClassifier::removeMultiScale(cvHaarDetectObjects): 入力画像中の異なるサイズのオブジェクトを検出します(画像内のオブジェクトを検出します).

81. CascadeClassifier::setImage(cvSetImagesForHaarClassifierCascade): 検出用の画像を設定します(隠しカスケード(hidden cascade)が,その画像を指定します).

82. CascadeClassifier::runAt(cvRunHaarClassifierCascade): 指定した位置で検出器を実行します(画像中のブーストされた分類器のカスケードを,指定した位置で実行します).

83. groupRectangles: オブジェクト候補のrectanglesをグループ化します。

84. split(cvSplit) :マルチチャンネル配列を複数のシングルチャンネル配列に分割します.

85. merge(cvMerge): いくつかのシングルチャンネル配列から,1 つのマルチチャンネル配列を作成します.

86. mixChannels(cvMixChannels): 入力配列から指定されたチャンネルを,出力配列の指定されたチャンネルにコピーします.

87. setMouseCallback(cvSetMouseCallback): 指定されたウィンドウのマウスハンドラを設定します.

88. bilateralFilter:アニメージュにバイラテラルフィルタを適用する(両側性フィルタリング)。

89. blur(cvSmooth) :正規化ボックスフィルタを用いて画像をぼかします(平均ぼかし).

medianBlur: medianfilterを使用して画像をぼかす(メディアンブラー)。

91. boxFilter: ボックスフィルターを使って画像をぼかします。

92. ガウシアンブラー ガウシアンフィルターを使って画像をぼかします。

93. getGaussianKernel : ガウシアンフィルターの係数を返します。

94. sepFilter2D: 分離可能な線形フィルタを画像に適用します。

filter2D(cvFilter2D) : 画像をカーネルで畳み込みます.

96. norm(cvNorm): 配列の絶対値ノルム,絶対値差分値ノルム,相対値差分値ノルムを求めます.

97. flip(cvFlip): 2 次元配列を垂直軸,水平軸,または両軸で切り取ります.

98. algorithm::get: アルゴリズムのパラメータを返します。

99. Algorithm::set: アルゴリズムのパラメータを設定します。

100. Algorithm::write: アルゴリズムのパラメータを afile ストレージに保存します。

101. Algorithm::read: afile storage からアルゴリズムパラメータを読み込む。

102. Algorithm::getList: 登録されているアルゴリズムのリストを返します。

103. Algorithm::create: アルゴリズムのインスタンスを名前付きで作成します。

104. FaceRecognizer::train: 与えられたデータと関連するラベルを用いて FaceRecognizer を学習する。

105. FaceRecognizer::update: 与えられたデータと関連付けられたラベルで FaceRecognizer を更新する。

106. FaceRecognizer::predict: 与えられた入力画像に対して、ラベルと関連する信頼度(距離など)を予測する。

107. FaceRecognizer::save: FaceRecognizer とそのモデルの状態を保存する。

108. FaceRecognizer::load: FaceRecognizer とそのモデルの状態をロードする。

109. createEigenFaceRecognizer:.

110. createFisherFaceRecognizer:.

111. createBPHFaceRecognizer:.

112. getTextSize(cvGetTextSize) :テキスト文字列の幅と高さを求めます.

113. putText(cvPutText) :テキスト文字列を描画します.

114. getStructuringElement(cvCreateStructingElementEx): 形態素解析のために,指定されたサイズと形状の構造化要素を返します.

115. morphologyEx(cvMorphologyEx) : 高度な形態学的変換を行います.

116. findContours(cvFindContours): 2値画像から輪郭を検出します.

117. drawContours(cvDrawContours): 輪郭のアウトラインや塗りつぶしを描画します.

118. minAreaRect (cvMinAreaRect2): 入力された2次元点群を囲む,回転した最小面積の矩形を求めます.

119. floodFill(cvFloodFill): 連結成分を与えられた色で塗りつぶします.

120. getRectSubPix(cvGetRectSubPix): サブピクセル精度で画像からピクセル単位の矩形を取得します.

121. CvSVM:: CvSVM: デフォルトコンストラクタとトレーニングコンストラクタ.

122. CvSVM::train: SVM を学習します.

123. CvSVM::train_auto: 最適なパラメータで SVM を学習します.

124. CvSVM::predict: 入力サンプルに対する応答を予測します.

125. CvSVM:: get_default_grid: SVMparameters 用のグリッドを生成する。

126. CvSVM::get_params: 現在の SVM パラメータを返します.

127. CvSVM::get_support_vector: サポートベクタの個数と,指定されたベクトルを取得します.

128. CvSVM::get_var_count: 使用された特徴量の数(変数数)を返します.

129. CvANN_MLP(multi-layerperceptrons)::CvANN_MLP: コンストラクタ.

130. CvANN_MLP::create: 指定されたトポロジーを持つMLPを構築します.

131. CvANN_MLP::train :MLPの学習・更新を行う.

132. CvANN_MLP::predict: 入力されたサンプルに対する応答を予測する.

133. CvANN_MLP::get_layer_count :MLPの層数を返します.

134. CvANN_MLP::get_layer_size: MLPの各レイヤーに含まれるニューロンの数を返します.

135. CvANN_MLP::get_weights: 特定のレイヤーのニューロン重みを返します.

136. CvKNearest:: CvKNearest: デフォルトコンストラクタとトレーニングコンストラクタ.

137. CvKNearest::train: モデルの学習を行います.

138. CvKNearest::find_nearest: 入力ベクトルに対する近傍探索と応答の予測を行います.

139. CvKNearest::get_max_k: CvKNearest::find_nearest() メソッドに渡すことができる最大の隣人の数を返します.

140. CvKNearest::get_var_count: 使用された特徴量の数(変数数)を返します.

141. CvKNearest::get_sample_count: 列挙されたサンプルの総数を返します.

142. CvKNearest::is_regression: 問題の種類を返します(回帰の場合はtruef,分類の場合はfalse).

143. HoughLines(cvHoughLines): 標準的な Hough 変換を用いて,2値画像中の線を検出します.

144. HoughLinesP: 確率的ハフ変換を使用して,2値画像から線分を検出します.

145. HoughCircles(cvHoughCircles): ハフ変換を用いてグレースケール画像から円を検出します.

146. line(cvLine): 2 点間を結ぶ線分を描画します.

147. fitLine(cvFitLine): 2次元あるいは3次元の点群に直線をフィッティングします.

148. fitEllipse(cvFitEllipse2): 2 次元点の集合に楕円をフィッティングします.

149. ellipse(cvEllipse, cvEllipseBox): 単純または太い楕円を描画し,楕円の領域を塗りつぶします.

150. boundingRect(cvBoundingRect): 点集合の上下に広がる矩形を計算します.

151. rectangle(cvRectangle): 単純な,太い,あるいは塗りつぶされた右上がりの矩形を描画します.

152. minEnclosingCircle(cvMinEnclosingCircle): 2 次元点集合を囲む最小面積の円を求めます.

153. circle(cvCircle): 円を描画します.

154. fillPoly: 1つ以上のポリゴンで囲まれた領域を塗りつぶします。

155. approxPolyDP(cvApproxPoly): 多角形の曲線を,指定された精度で近似します.

156. pointPolygonTest(cvPointPolygonTest): Point-in-contour test を実行します(ポリゴン内の点の位置を決定します).

157. convexHull(cvConvexHull2): 点集合の凸包を求めます.

158. transpose(cvTranspose) :行列の転置を行います.

159. invert(cvInvert) :行列の逆行列,または擬似逆行列を求めます.

160. getStructuringElement(cvCreateStructuringElementEx): 形態素解析のために,指定されたサイズと形状の構造化要素を返します.

161. absdiff(cvAbsDiff) : 2 つの配列同士,あるいは配列とスカラの要素毎の絶対値の差を求めます.

subtract(cvSub): 2 つの配列同士,あるいは配列とスカラの要素毎の差を求めます.

163. 乗算(cvMul) : 2つの配列の要素ごとの平方根を計算します.

164. divide(cvDiv) : 2 つの配列の要素毎の除算,あるいは配列とスカラの除算を行います.

165. bitwise_or() cvOr ): 2つの配列,あるいは配列とスカラの要素ごとのビット単位の論理和を計算します.

bitwise_and(cvAnd) : 2 つの配列,あるいは配列とスカラの要素毎にビット単位の論理積を計算します.

167. bitwise_not(cvNot): 配列の各ビットを反転させます.

168. bitwise_xor(cvXor): 2 つの配列,あるいは配列とスカラに対して,要素ビット毎の排他的論理和を計算します.

erode(cvErode): 特定の構造体要素を用いて画像を消去します.

170. dilate(cvDilate): 特定の構造化要素を用いて画像を拡張します.

171. min(cvMin): 2 つの配列,あるいは配列とスカラの要素毎の最小値を求めます.

172. max(cvMax): 2 つの配列,あるいは配列とスカラの 要素毎の最大値を求めます.

173. add(cvAdd): 2 つの配列,あるいは配列とスカラの 要素毎の和を求めます.

174. addWeighted(cvAddWeighted): 2 つの配列の重み付き和を計算します.

175. scaleAdd(cvScaleAdd): scaledarray と別の配列の和を計算します.

176. saturate_cast():あるプリミティブ型から別のプリミティブ型への変換を正確に行うためのテンプレート関数。

177. sqrt(cvSqrt): 配列要素の平方根を計算します.

178. pow(cvPow): 配列の各要素を累乗的に増加させます.

179.腹筋 : 各行列要素の絶対値を計算します。

180. convertScaleAbs(cvConvertScaleAbs): スケーリング,絶対値の計算,および結果の 8 ビットへの変換を行います.

181. キューベルート (cvCbrt): 引数の立方根を計算します。

182. exp(cvExp) :配列の各要素の指数を計算します.

183. log(cvLog): 配列の各要素の自然対数を求めます.

184. canny(cvCanny): Canny アルゴリズムを用いて,画像中のエッジを検出します.

185. Sobel(cvSobel): 拡張 Sobel 演算子を用いて,1次,2次,3次,または混合画像導関数を求めます.

186. Scharr: Scharr 演算子 (Scharr フィルター) を使用して、1 番目の x - または y - 画像微分を計算します。

187. ラプラシアン (cvLaplace): アニメーショ ンのラプラシアンを求めます.

188. getDerivKernels: 空間画像微分を計算するためのフィルター係数を返します。

189. contourArea(cvContourArea) : 輪郭領域を計算します.

190. LUT(cvLUT): 配列のルックアップテーブル変換を行います.

191. calcBackProject(cvCalcBackProject): ヒストグラムのバックプロジェクションを計算します.

192. arcLength(cvArcLength): 輪郭の周囲長、または曲線の長さを計算します。

193. meanShift(cvMeanShift): 後方投影画像からオブジェクトを検出します.

194. CamShift(cvCamShift): 物体の中心,大きさ,向きを求めます.

195. TermCriteria: 反復アルゴリズム用の終了基準を定義するテンプレートクラスです。

196. createTrackbar(cvCreateTrackbar): トラックバーを作成し,指定されたウィンドウに取り付けます.

197. watershed(cvWatershed): 流域アルゴリズムを利用して,マーカーベースの画像分割を行います.

198. grabCut: GrabCut アルゴリズムを実行します。

199. compare(cvCmp): 2 つの配列,または配列とスカラ値を要素毎に比較します.

200. 意味 (cvAvg): 配列の要素の平均を計算します。

201. meanStdDev(cvAvgSdv): 配列要素の平均と標準偏差を求めます.

202. cartToPolar(cvCartToPolar): 2 次元ベクトルの大きさと角度を求めます.

203. moments(cvMoments): ポリゴンやラスタライズされた形状の,3 次までの全てのモーメントを計算します.

204. matchShapes(cvMatchShapes) :2つの形状を比較します.

205. cornerHarris(cvCornerHarris): ハリスエッジ検出器.

206. goodFeaturesToTrack(cvGoodFeaturesToTrack): 画像上の強いコーナーを判定します.

207. クラスフィーチャーディテクター(classFeatureDetector 2次元画像特徴検出器の抽象基底クラスです。

208. classFastFeatureDetector : FAST() メソッドを用いた特徴抽出のためのラッピングクラスです。

209. classSURF(SurfFeatureDetector, SurfDescriptorExtractor): 画像から Speeded Up Robust Features を抽出する。

210. classSIFT(SiftFeatureDetector): SIFT (Scale Invariant Feature Transform) アルゴリズムを用いてキーポイントを抽出し、ディスクリプタを計算する ;.

211. SURF::operator(cvExtractSURF): キーポイントを検出し,それに対するSURFディスクリプタを計算します.

212. drawKeypoints: キーポイントを描画します。

213. drawMatches: 2つの画像からキーポイントのマッチを検出し、描画します。

classDescriptorMatcher: キーポイントディスクリプタをマッチングするための抽象基底クラス.

215. findChessboardCorners(cvFindChessboardCorners): チェスボードの内角の位置を求めます.

216. drawChessboardCorners(cvDrawChessboardCorners): 検出されたチェスボードの角を描画します.

217. calibrateCamera(cvCalibrateCamera2): キャリブレーションパターンの複数のビューから,カメラの内部パラメータと外部パラメータを求めます.

218. initUndistortRectifyMap(cvInitUndistortMap, cvInitUndistortRectifyMap) :歪み補正および平行化変換マップを計算します.

219. remap(cvRemap) :画像に一般的な幾何学変換を施します.

220. CalibrationMatrixValues カメラマトリックスから有用なカメラ特性を計算します。

221. findFundamentalMat(cvFindFundamentalMat) :2つの画像の対応する点から,基本行列を求めます.

222. computeCorrespondEpilines(cvComputeCorrespondEpilines): ステレオペアの画像中の点に対して,もう片方の画像中の対応するエピラインを計算します.

223. findHomography(cvFindHomography): 2つの平面の間の透視変換を求めます.

224. warpPerspective(cvWarpPerspective): 画像にパースペクティブ変換を適用します.

225. getPerspectiveTransform(cvGetPerspectiveTransform): 4 組の対応点から,透視変換を求めます.

226. cornerSubPix(cvFindCornerSubPix): コーナー位置を精細化します.

227. calcOpticalFlowPyrLK(cvCalcOpticalFlowPyrLK): ピラミッドを用いた Lucas-Kanade 法の繰り返しにより,疎な特徴セットに対してオプティカルフローを計算します.

228. swap: 2つの行列を入れ替える。

229. accumulateWeighted(cvRunningAvg) : 走行平均を更新します.

クラスBackgroundSubtractorMOG:ガウス混合ベースのバックグランド/フォアグラウンドセグメンテーションアルゴリズム。

231. randu: 一様に分布した(uniformly distributed)乱数または乱数の配列を生成します。

232. randn: 配列を正規分布の(正規に分布した)乱数で埋める。

233. getTickCount : 刻み目の数を返します。

234. getTickFrequency: 1秒あたりのティック数を返します(getTickCountとgetTickFrequency関数を使用すると、アルゴリズムの実行にかかる時間を計算することができます)。

235. CV_Assert: 実行時に条件をチェックし,失敗した場合は例外をスローします.

saturate_cast: あるプリミティブ型から別のプリミティブ型への正確な変換のためのテンプレート関数です。

237. classRNG: 乱数発生器。

238. rng::next: 次の乱数を返します。

239. RNG::operatorT: 指定された型の次の乱数を返します。

240. RNG::operator():次の乱数を返します。

241. RNG::uniform: 一様分布からサンプルされた次の乱数を返します。

242. rng::gaussian: ガウス分布から抽出した次の乱数を返します。

243. RNG::fill: 配列を乱数で埋めます。

244. getOptimalDFTSize(cvGetOptimalDFTSize): 与えられたベクトルサイズに対して最適な DFT サイズを返します.

245. copyMakeBorder() cvCopyMakeBorder ): 画像の周囲にボーダーを形成します。

246. dft(cvDFT) : 1次元あるいは2次元の浮動小数点型配列に対して,離散フーリエ変換(ForwardDiscreteFourierTransform)または逆離散フーリエ変換(InverseDiscreteFourierTransform)を行います.

247. マグニチュード: 2次元ベクトルの大きさ(マグニチュード)を計算する。

248. クラスFileStorage。XML/YAML ファイルストレージクラスは、ファイルへの、またはファイルからのデータの書き込みや読み取りに必要なすべての情報をカプセル化しています。

249. ファイルストレージ:: open: ファイルを開く。

250. FileStorage::isOpened: ファイルがオープンされているかどうかをチェックします。

251. FileStorage::release: ファイルを閉じ、すべてのメモリバッファを解放する。

252. FileStorage::releaseAndGetString: ファイルを閉じ、すべてのメモリバッファを解放します。

253. FileStorage::getFirstTopLevelNode: トップレベルマッピングの最初の要素を返します。

254. FileStorage::root: トップレベルのマッピングを返します。

255. FileStorage::operator[]: トップレベルマッピングの指定された要素を返します。

256. FileStorage::operator*: は、廃止された C の FileStorage 構造体を返します。

257. FileStorage::writeRaw: 複数の数値を書き込む。

258. FileStorage::writeObj: 登録された C 言語の構造体(CvMat, CvMatND, CvSeq)を書き込みます.

259. FileStorage::getDefaultObjectName: 指定されたファイル名に対する正規化されたオブジェクト名を返します。

260. getAffineTransform(cvGetAffineTransform): 3 組の対応点から,アフィン変換を求めます.

261. getRotationMatrix2D(cv2DRotationmatrix): 2 次元回転のアフィン変換行列を求めます.

262. warpAffine(cvWarpAffine): 画像にアフィン変換を適用します.

263. matchTemplate(cvMatchTemplate) : 重複する画像領域に対してテンプレートを比較します.