モーション解析と物体追跡 ==================================== .. highlight:: cpp .. index:: accumulate cv::accumulate -------------- `id=0.682122876661 Comments from the Wiki `__ .. cfunction:: void accumulate( const Mat\& src, Mat\& dst, const Mat\& mask=Mat() ) 画像を累算器に加算します. :param src: 1- または 3-チャンネル,8ビット または 32ビット浮動小数点型の入力画像. :param dst: 入力画像と同じチャンネル数,32ビット または 64ビット浮動小数点型の累算器画像. :param mask: オプションである処理マスク. この関数は, ``src`` またはその一部の要素を, ``dst`` に加えます: .. math:: \texttt{dst} (x,y) \leftarrow \texttt{dst} (x,y) + \texttt{src} (x,y) \quad \text{if} \quad \texttt{mask} (x,y) \ne 0 この関数は,マルチチャンネル画像をサポートしており,各チャンネルは個別に処理されます. 関数 ``accumulate*`` は,例えば,前景と背景を上手く分離するために,固定カメラで撮影されたシーンの背景統計量を収集する際に利用されます. 参考: :func:`accumulateSquare` , :func:`accumulateProduct` , :func:`accumulateWeighted` .. index:: accumulateSquare cv::accumulateSquare -------------------- `id=0.378649184714 Comments from the Wiki `__ .. cfunction:: void accumulateSquare( const Mat\& src, Mat\& dst, const Mat\& mask=Mat() ) 入力画像の 2 乗を累算器に加算します. :param src: 1- または 3-チャンネル,8ビット または 32ビット浮動小数点型の入力画像. :param dst: 入力画像と同じチャンネル数,32ビット または 64ビット浮動小数点型の累算器画像. :param mask: オプションである処理マスク. 関数 ``accumulateSquare`` は,入力画像 ``src`` またはその選択領域を2乗し,累算器 ``dst`` に加えます: .. math:: \texttt{dst} (x,y) \leftarrow \texttt{dst} (x,y) + \texttt{src} (x,y)^2 \quad \text{if} \quad \texttt{mask} (x,y) \ne 0 この関数は,マルチチャンネル画像をサポートしており,各チャンネルは個別に処理されます. 参考: :func:`accumulateSquare` , :func:`accumulateProduct` , :func:`accumulateWeighted` .. index:: accumulateProduct cv::accumulateProduct --------------------- `id=0.435420585892 Comments from the Wiki `__ .. cfunction:: void accumulateProduct( const Mat\& src1, const Mat\& src2, Mat\& dst, const Mat\& mask=Mat() ) 2つの入力画像の要素毎の積を累算機に加える. :param src1: 1- または 3-チャンネル,8ビット または 32ビット浮動小数点型の1番目の入力画像. :param src2: ``src1`` と同じ型,同じサイズの2番目の入力画像. :param dst: 入力画像と同じチャンネル数の累算器画像.32ビット または 64ビット浮動小数点型. :param mask: オプションである処理マスク. 関数 ``accumulateProduct`` は,2つの画像同士,またはその選択領域同士の積を累算器 ``dst`` に加えます: .. math:: \texttt{dst} (x,y) \leftarrow \texttt{dst} (x,y) + \texttt{src1} (x,y) \cdot \texttt{src2} (x,y) \quad \text{if} \quad \texttt{mask} (x,y) \ne 0 この関数は,マルチチャンネル画像をサポートしており,各チャンネルは個別に処理されます. 参考: :func:`accumulate` , :func:`accumulateSquare` , :func:`accumulateWeighted` .. index:: accumulateWeighted cv::accumulateWeighted ---------------------- `id=0.197800077748 Comments from the Wiki `__ .. cfunction:: void accumulateWeighted( const Mat\& src, Mat\& dst, double alpha, const Mat\& mask=Mat() ) 移動平均値を更新します. :param src: 1- または 3-チャンネル,8ビット または 32ビット浮動小数点型の入力画像. :param dst: 入力画像と同じチャンネル数,32ビット または 64ビット浮動小数点型の累算器画像. :param alpha: 入力画像の重み. :param mask: オプションである処理マスク. 関数 ``accumulateWeightedg`` は, ``dst`` がフレーム列の移動平均になるように,入力画像 ``src`` と累積器 ``dst`` との重み付き和を求めます: .. math:: \texttt{dst} (x,y) \leftarrow (1- \texttt{alpha} ) \cdot \texttt{dst} (x,y) + \texttt{alpha} \cdot \texttt{src} (x,y) \quad \text{if} \quad \texttt{mask} (x,y) \ne 0 つまり, ``alpha`` は,更新速度(どのくらいの早さで,以前の画像を「忘れる」か)を調節します. この関数は,マルチチャンネル画像をサポートしており,各チャンネルは個別に処理されます. 参考: :func:`accumulate` , :func:`accumulateSquare` , :func:`accumulateProduct`