画像処理 ============ .. highlight:: cpp .. index:: gpu::meanShiftFiltering cv::gpu::meanShiftFiltering --------------------------- `id=0.260443761433 Comments from the Wiki `__ .. cfunction:: void meanShiftFiltering(const GpuMat\& src, GpuMat\& dst, int sp, int sr, TermCriteria criteria = TermCriteria(TermCriteria::MAX_ITER + TermCriteria::EPS, 5, 1)) 入力画像の各点に対して,mean-shift フィルタリングを行います.これにより入力画像中の各点が,別の点にマップされ,各点の新しい色,新しい位置が得られます. :param src: 入力画像.現在は, ``CV_8UC4`` 画像のみをサポートします. :param dst: 出力画像.マップされた点の色が格納されます. ``src`` と同じサイズ,同じ型になります. :param sp: 空間の探索窓半径. :param sr: 色の探索窓半径. :param criteria: 停止基準. cv::TermCriteria を参照してください. .. index:: gpu::meanShiftProc cv::gpu::meanShiftProc ---------------------- `id=0.214088018589 Comments from the Wiki `__ .. cfunction:: void meanShiftProc(const GpuMat\& src, GpuMat\& dstr, GpuMat\& dstsp, int sp, int sr, TermCriteria criteria = TermCriteria(TermCriteria::MAX_ITER + TermCriteria::EPS, 5, 1)) mean-shift を実行し,処理した点に関する情報(つまり,色と位置)を2つの画像に保存します. :param src: 入力画像.現在は, ``CV_8UC4`` 画像のみをサポートします. :param dstr: 出力画像.マップされた点の色が格納されます. ``src`` と同じサイズ,同じ型になります. :param dstsp: 出力画像.マップされた点の位置が格納されます. ``src`` と同じサイズで, ``CV_16SC2`` 型になります. :param sp: 空間の探索窓半径. :param sr: 色の探索窓半径. :param criteria: 停止基準. cv::TermCriteria を参照してください. 参考: :func:`gpu::meanShiftFiltering` . .. index:: gpu::meanShiftSegmentation cv::gpu::meanShiftSegmentation ------------------------------ `id=0.826469663305 Comments from the Wiki `__ .. cfunction:: void meanShiftSegmentation(const GpuMat\& src, Mat\& dst, int sp, int sr, int minsize, TermCriteria criteria = TermCriteria(TermCriteria::MAX_ITER + TermCriteria::EPS, 5, 1)) 入力画像に対してmean-shift セグメンテーションを行い,小さなセグメントを削除します. :param src: 入力画像.現在は, ``CV_8UC4`` 画像のみをサポートします. :param dst: セグメンテーションされた画像. ``src`` と同じサイズ,同じ型になります. :param sp: 空間の探索窓半径. :param sr: 色の探索窓半径. :param minsize: セグメントの最小サイズ.これより小さいセグメントは別のセグメントに統合されます. :param criteria: 停止基準. cv::TermCriteria を参照してください. .. index:: gpu::integral cv::gpu::integral ----------------- `id=0.201966312211 Comments from the Wiki `__ .. cfunction:: void integral(const GpuMat\& src, GpuMat\& sum) .. cfunction:: void integral(const GpuMat\& src, GpuMat\& sum, GpuMat\& sqsum) 積分画像,2乗の積分画像を求めます. :param src: 入力画像.現在は, ``CV_8UC1`` 画像のみをサポートします. :param sum: 積分画像.32ビット,符号なし整数値が, ``CV_32SC1`` にパックされます. :param sqsum: 2乗の積分画像. ``CV_32FC1`` 型になります. 参考: :func:`integral` . .. index:: gpu::sqrIntegral cv::gpu::sqrIntegral -------------------- `id=0.223929489202 Comments from the Wiki `__ .. cfunction:: void sqrIntegral(const GpuMat\& src, GpuMat\& sqsum) 2乗の積分画像を求めます. :param src: 入力画像.現在は, ``CV_8UC1`` 画像のみをサポートします. :param sqsum: 2乗の積分画像.64ビット,符号なし整数値が, ``CV_64FC1`` にパックされます. .. index:: gpu::columnSum cv::gpu::columnSum ------------------ `id=0.987819301289 Comments from the Wiki `__ .. cfunction:: void columnSum(const GpuMat\& src, GpuMat\& sum) 垂直方向(列方向)の合計を求めます. :param src: 入力画像.現在は, ``CV_32FC1`` 画像のみをサポートします. :param sum: 出力画像. ``CV_32FC1`` 型になります. .. index:: gpu::cornerHarris cv::gpu::cornerHarris --------------------- `id=0.955227543795 Comments from the Wiki `__ .. cfunction:: void cornerHarris(const GpuMat\& src, GpuMat\& dst, int blockSize, int ksize, double k, int borderType=BORDER_REFLECT101) 各ピクセルにおける Harris コーナー基準値を求めます. :param src: 入力画像.現在は, ``CV_8UC1`` および ``CV_32FC1`` 画像のみをサポートします. :param dst: 出力画像. ``src`` と同じサイズで, ``CV_32FC1`` 型になります.コーナー度合いを表す数値が入ります. :param blockSize: 近傍サイズ. :param ksize: Sobel オペレータに対するアパーチャパラメータ. :param k: Harris 検出器のフリーパラメータ. :param borderType: ピクセル外挿手法.現在は, ``BORDER_REFLECT101`` および ``BORDER_REPLICATE`` のみがサポートされます. 参考: :func:`cornerHarris` . .. index:: gpu::cornerMinEigenVal cv::gpu::cornerMinEigenVal -------------------------- `id=0.360284246896 Comments from the Wiki `__ .. cfunction:: void cornerMinEigenVal(const GpuMat\& src, GpuMat\& dst, int blockSize, int ksize, int borderType=BORDER_REFLECT101) 微分画像の各ピクセルにおいて,2x2の分散共分散行列の最小固有値 -コーナー度合いを表基準値- を求めます. :param src: 入力画像.現在は, ``CV_8UC1`` および ``CV_32FC1`` 画像のみをサポートします. :param dst: 出力画像. ``src`` と同じサイズで, ``CV_32FC1`` 型になります.コーナー度合いを表す数値が入ります. :param blockSize: 近傍サイズ. :param ksize: Sobel オペレータに対するアパーチャパラメータ. :param k: Harris 検出器のフリーパラメータ. :param borderType: ピクセル外挿手法.現在は, ``BORDER_REFLECT101`` および ``BORDER_REPLICATE`` のみがサポートされます. 参考: :func:`cornerMinEigenValue` . .. index:: gpu::mulSpectrums cv::gpu::mulSpectrums --------------------- `id=0.986119995294 Comments from the Wiki `__ .. cfunction:: void mulSpectrums(const GpuMat\& a, const GpuMat\& b, GpuMat\& c, int flags, bool conjB=false) 2つのフーリエスペクトルの要素毎の積を求めます. :param a: 1番目のスペクトル. :param b: 2番目のスペクトル. ``a`` と同じサイズ,同じ型でなければいけません. :param c: 出力スペクトル. :param flags: CPU/GPUインタフェースを同一に保つための単なるモックパラメータ. :param conjB: オプションフラグ.掛け算の前に,2番目のスペクトルの共役をとることを示します. 現在は,インタリーブフォーマットで格納された,完全な(つまり,パックされていない) ``CV_32FC2`` 型の複素数スペクトルのみをサポートしています. 参考: :func:`mulSpectrums` . .. index:: gpu::mulAndScaleSpectrums cv::gpu::mulAndScaleSpectrums ----------------------------- `id=0.809932209104 Comments from the Wiki `__ .. cfunction:: void mulAndScaleSpectrums(const GpuMat\& a, const GpuMat\& b, GpuMat\& c, int flags, float scale, bool conjB=false) 2つのフーリエスペクトルの要素毎の積を計算し,その結果をスケーリングします. :param a: 1番目のスペクトル. :param b: 2番目のスペクトル. ``a`` と同じサイズ,同じ型でなければいけません. :param c: 出力スペクトル. :param flags: CPU/GPUインタフェースを同一に保つための単なるモックパラメータ. :param scale: スケール定数. :param conjB: オプションフラグ.掛け算の前に,2番目のスペクトルの共役をとることを示します. 現在は,インタリーブフォーマットで格納された,完全な(つまり,パックされていない) ``CV_32FC2`` 型の複素数スペクトルのみをサポートしています. 参考: :func:`mulSpectrums` . .. index:: gpu::dft cv::gpu::dft ------------ `id=0.484483021527 Comments from the Wiki `__ ``_`` ``_`` .. cfunction:: void dft(const GpuMat\& src, GpuMat\& dst, Size dft_size, int flags=0) 浮動小数点型の行列に対して,(1次元または2次元の)フーリエ順変換または逆変換を行います.実行列( CV32FC1)および,インタリーブフォーマットの複素行列( CV32FC2)を扱うことができます. :param src: 入力行列(実行列,または複素行列). :param dst: 出力行列(実,または複素行列). :param dft_size: 離散フーリエ変換のサイズ. :param flags: オプションフラグ: * **DFT_ROWS** 入力行列の各行を個別に変換します. * **DFT_SCALE** 結果のスケーリングを行います:変換時に,結果を要素の個数で割ります(これは ``dft_size`` から得ます). * **DFT_INVERSE** 逆DFTを行えるのは,複素行列-複素行列の場合です(実行列-複素行列,複素行列-実行列の場合は,それぞれ常に順変換,逆変換になります). * **DFT_REAL_OUTPUT** この場合の,実行列-複素行列変換の結果なので,出力行列は必ず実数型でなければいけません. 入力行列は,連続である必要があり,そうでない場合は,再割り当てとデータのコピーが行われます.この関数の処理モードは,フラグ,入力行列のサイズ,チャンネルにに依存します: * 入力行列が複素行列で,出力行列に実行列が指定されていない場合,出力行列は ``dft_size`` サイズで ``CV_32FC2`` 型の複素行列になります.ここには,DFT(順変換または逆変換)の完全な結果が格納されます. * 入力行列が複素行列で,出力行列に実行列が指定されている場合,この関数は,入力行列が順変換の結果であると見なします(次項を参照してください).出力行列は, ``dft_size`` サイズで ``CV_32FC1`` 型になります.ここには,逆DFTの結果が格納されます. * 入力行列が実行列(つまり, ``CV_32FC1`` 型)である場合,DFT(順変換)が行われます.DFTの結果は,複素数型( ``CV_32FC2`` )の行列にパックされ,その幅は ``dft_size.width / 2 + 1`` になります.ただし,入力行列が1列である場合は,幅の代わりに高さが縮小されます. 確認: :func:`dft` . .. index:: gpu::convolve cv::gpu::convolve ----------------- `id=0.789484669246 Comments from the Wiki `__ .. cfunction:: void convolve(const GpuMat\& image, const GpuMat\& templ, GpuMat\& result, bool ccorr=false) .. cfunction:: void convolve(const GpuMat\& image, const GpuMat\& templ, GpuMat\& result, bool ccorr, ConvolveBuf\& buf) 2つの画像の畳み込み(または,相関)演算を行います. :param src: 入力画像.現在は, ``CV_32FC1`` 画像のみをサポートします. :param templ: テンプレート画像.これは ``image`` サイズよりも小さく, ``image`` と同じ型でなければいけません. :param result: 結果画像. ``image`` と同じサイズ,同じ型になります. :param ccorr: 畳み込みではなく相関を求めることを指示するフラグ. :param buf: メモリの割り当て処理を避けるためのオプションバッファ(同一サイズでの呼び出しが多数行われます). .. index:: gpu::ConvolveBuf .. _gpu::ConvolveBuf: gpu::ConvolveBuf ---------------- `id=0.643538732242 Comments from the Wiki `__ .. ctype:: gpu::ConvolveBuf :func:`gpu::convolve` 関数のためのメモリバッファ. .. code-block:: c struct CV_EXPORTS ConvolveBuf { ConvolveBuf() {} ConvolveBuf(Size image_size, Size templ_size) { create(image_size, templ_size); } void create(Size image_size, Size templ_size); private: // Hidden }; .. .. index:: gpu::ConvolveBuf::ConvolveBuf cv::gpu::ConvolveBuf::ConvolveBuf --------------------------------- `id=0.155540804801 Comments from the Wiki `__ .. cfunction:: ConvolveBuf::ConvolveBuf() 空のバッファを作成します.これは,最初に畳み込み関数を呼び出した後に,適切にリサイズされます. .. cfunction:: ConvolveBuf::ConvolveBuf(Size image_size, Size templ_size) 与えられた引数を利用して,畳み込み関数用のバッファを作成します. .. index:: gpu::matchTemplate cv::gpu::matchTemplate ---------------------- `id=0.224824452014 Comments from the Wiki `__ .. cfunction:: void matchTemplate(const GpuMat\& image, const GpuMat\& templ, GpuMat\& result, int method) ラスタテンプレート画像と,それを用いて走査される画像との,類似度マップを求めます. :param src: 入力画像.現在は,ビット深度が ``CV_32F`` および ``CV_8U`` の(1..4チャンネル)画像のみをサポートします. :param templ: テンプレート画像. ``image`` と同じ型でなければいけません. :param result: 比較結果( ``CV_32FC1`` )が格納されるマップ. ``image`` は :math:`W \times H` , ``templ`` は :math:`w \times h` なので, ``result`` は :math:`(W-w+1) \times (H-h+1)` でなければいけません. :param method: テンプレートと画像を比較する手法を指定します. 現在は,ビット深度 ``CV_8U`` の画像に対して,以下の手法がサポートされています: * CV _ TM _ SQDIFF * CV _ TM _ SQDIFF _ NORMED * CV _ TM _ CCORR * CV _ TM _ CCORR _ NORMED * CV _ TM _ CCOEFF * CV _ TM _ CCOEFF _ NORMED また,ビット深度 ``CV_32F`` の画像に対しては,以下の手法がサポートされています: * CV _ TM _ SQDIFF * CV _ TM _ CCORR 参考: :func:`matchTemplate` . .. index:: gpu::remap cv::gpu::remap -------------- `id=0.669633104434 Comments from the Wiki `__ .. cfunction:: void remap(const GpuMat\& src, GpuMat\& dst, const GpuMat\& xmap, const GpuMat\& ymap) 画像に対して,一般的な幾何変換を行います. :param src: 入力画像.現在は, ``CV_8UC1`` および ``CV_8UC3`` 画像のみをサポートします. :param dst: 出力画像. ``xmap`` と同じサイズで, ``src`` と同じ型になります. :param xmap: X 値. ``CV_32FC1`` 型のみがサポートされます. :param ymap: Y 値. ``CV_32FC1`` 型のみがサポートされます. この関数は,指定されたマップを用いて入力画像を変換します: .. math:: \texttt{dst} (x,y) = \texttt{src} (xmap(x,y), ymap(x,y)) 非整数座標のピクセル値は,バイリニア補間を用いて計算されます. 参考: :func:`remap` . .. index:: gpu::cvtColor cv::gpu::cvtColor ----------------- `id=0.190053117267 Comments from the Wiki `__ .. cfunction:: void cvtColor(const GpuMat\& src, GpuMat\& dst, int code, int dcn = 0) .. cfunction:: void cvtColor(const GpuMat\& src, GpuMat\& dst, int code, int dcn, const Stream\& stream) ある色空間から別の色空間へ,画像を変換します. :param src: 入力画像.ビット深度 ``CV_8U`` , ``CV_16U`` または ``CV_32F`` の,1,3,4 チャンネル画像です. :param dst: 出力画像. ``src`` と同じサイズ,同じビット深度になります. :param code: 色空間の変換コード.詳細は, :func:`cvtColor` を参照してください.Luv と Bayer カラーとの間の変換はサポートされていません. :param dcn: 出力画像のチャンネル数.このパラメータが 0 の場合, ``src`` および ``code`` から,自動的にチャンネル数が求められます. :param stream: 非同期バージョン用のストリーム. 3-チャンネルの色空間( ``HSV`` , ``XYZ`` など)画像を,4-チャンネル画像に格納することでパフォーマンスが向上します. 参考: :func:`cvtColor` . .. index:: gpu::threshold cv::gpu::threshold ------------------ `id=0.649124199597 Comments from the Wiki `__ .. cfunction:: double threshold(const GpuMat\& src, GpuMat\& dst, double thresh, double maxval, int type) .. cfunction:: double threshold(const GpuMat\& src, GpuMat\& dst, double thresh, double maxval, int type, const Stream\& stream) 配列の各要素を,固定閾値により2値化します. :param src: 入力配列(シングルチャンネル.ただし, ``CV_64F`` はサポートされていません). :param dst: 出力配列. ``src`` と同じサイズ,同じ型になります. :param thresh: 閾値. :param maxVal: 閾値の種類が ``THRESH_BINARY`` か ``THRESH_BINARY_INV`` である場合に利用される最大値. :param thresholdType: 閾値の種類.詳細は, :func:`threshold` を参照してください. ``THRESH_OTSU`` はサポートされていません. :param stream: 非同期バージョン用のストリーム. 参考: :func:`threshold` . .. index:: gpu::resize cv::gpu::resize --------------- `id=0.564462883266 Comments from the Wiki `__ .. cfunction:: void resize(const GpuMat\& src, GpuMat\& dst, Size dsize, double fx=0, double fy=0, int interpolation = INTER_LINEAR) 画像をリサイズします. :param src: 入力画像.現在は, ``CV_8UC1`` および ``CV_8UC4`` 型をサポートします. :param dst: 出力画像.このサイズは, ``dsize`` (0以外の場合),または ``src.size()`` , ``fx`` および ``fy`` から算出される値になります.また, ``dst`` の型は, ``src`` と同じになります. :param dsize: 出力画像のサイズ.これが 0 の場合,サイズは次の様に計算されます: .. math:: \texttt{dsize = Size(round(fx*src.cols), round(fy*src.rows))} ``dsize`` ,または ``fx`` か ``fy`` のどちらかは,必ず0以外の値でなければいけません. :param fx: 水平軸方向のスケールファクタ.0の場合,次の様に計算されます: .. math:: \texttt{(double)dsize.width/src.cols} :param fy: 垂直軸方向のスケールファクタ.0の場合,次の様に計算されます: .. math:: \texttt{(double)dsize.height/src.rows} :param interpolation: 補間手法. ``INTER_NEAREST`` および ``INTER_LINEAR`` のみがサポートされます. 参考: :func:`resize` . .. index:: gpu::warpAffine cv::gpu::warpAffine ------------------- `id=0.651618602974 Comments from the Wiki `__ .. cfunction:: void warpAffine(const GpuMat\& src, GpuMat\& dst, const Mat\& M, Size dsize, int flags = INTER_LINEAR) 画像をアフィン変換します. :param src: 入力画像.ビット深度 ``CV_8U`` , ``CV_16U`` または ``CV_32F`` の,1,3,4 チャンネル画像です. :param dst: 出力画像.サイズは ``dsize`` ,型は ``src`` と同じになります. :param M: :math:`2\times 3` 変換行列. :param dsize: 出力画像のサイズ. :param flags: 補間手法の組み合わせ. :func:`resize` を参照してください.また,オプションフラグ ``WARP_INVERSE_MAP`` を指定すると, ``M`` を逆変換( :math:`\texttt{dst}\rightarrow\texttt{src}` )と見なします.補間手法としては, ``INTER_NEAREST`` , ``INTER_LINEAR`` および ``INTER_CUBIC`` がサポートされます. 参考: :func:`warpAffine` . .. index:: gpu::warpPerspective cv::gpu::warpPerspective ------------------------ `id=0.584581146838 Comments from the Wiki `__ .. cfunction:: void warpPerspective(const GpuMat\& src, GpuMat\& dst, const Mat\& M, Size dsize, int flags = INTER_LINEAR) 画像を透視変換します. :param src: 入力画像.ビット深度 ``CV_8U`` , ``CV_16U`` または ``CV_32F`` の,1,3,4 チャンネル画像です. :param dst: 出力画像.サイズは ``dsize`` ,型は ``src`` と同じになります. :param M: :math:`2\times 3` 変換行列. :param dsize: 出力画像のサイズ. :param flags: 補間手法の組み合わせ. :func:`resize` を参照してください.また,オプションフラグ ``WARP_INVERSE_MAP`` を指定すると, ``M`` を逆変換( :math:`\texttt{dst}\rightarrow\texttt{src}` )と見なします.補間手法としては, ``INTER_NEAREST`` , ``INTER_LINEAR`` および ``INTER_CUBIC`` がサポートされます. 参考: :func:`warpPerspective` . .. index:: gpu::rotate cv::gpu::rotate --------------- `id=0.908856120789 Comments from the Wiki `__ .. cfunction:: void rotate(const GpuMat\& src, GpuMat\& dst, Size dsize, double angle, double xShift = 0, double yShift = 0, int interpolation = INTER_LINEAR) 原点 (0,0) 周りに画像を回転し,それを並進移動します. :param src: 入力画像. ``CV_8UC1`` および ``CV_8UC4`` 型をサポートします. :param dst: 出力画像.サイズは ``dsize`` ,型は ``src`` と同じになります. :param dsize: 出力画像のサイズ. :param angle: 度単位で表現される回転角度. :param xShift: 水平軸方向の並進量. :param yShift: 垂直軸方向の並進量. :param interpolation: 補間手法. ``INTER_NEAREST`` , ``INTER_LINEAR`` および ``INTER_CUBIC`` のみがサポートされます. 参考: :func:`gpu::warpAffine` . .. index:: gpu::copyMakeBorder cv::gpu::copyMakeBorder ----------------------- `id=0.149176680424 Comments from the Wiki `__ .. cfunction:: void copyMakeBorder(const GpuMat\& src, GpuMat\& dst, int top, int bottom, int left, int right, const Scalar\& value = Scalar()) 2次元配列をより大きな配列にコピーし,その境界空間を与えられた定数で埋めます. :param src: 入力画像. ``CV_8UC1`` , ``CV_8UC4`` , ``CV_32SC1`` および ``CV_32FC1`` 型をサポートします. :param dst: 出力画像. ``src`` と同じ型で,サイズは ``Size(src.cols+left+right, src.rows+top+bottom)`` となります. :param top, bottom, left, right: 入力画像矩形の周りに,各方向にどれだけのピクセル分外挿する必要があるかを指定します.例えば, ``top=1, bottom=1, left=1, right=1`` の場合,幅1ピクセルの境界が必要となります. :param value: 境界を埋める値. 参考: :func:`copyMakeBorder` .. index:: gpu::rectStdDev cv::gpu::rectStdDev ------------------- `id=0.693229182568 Comments from the Wiki `__ .. cfunction:: void rectStdDev(const GpuMat\& src, const GpuMat\& sqr, GpuMat\& dst, const Rect\& rect) 積分画像の標準偏差を求めます. :param src: 入力画像. ``CV_32SC1`` 型のみをサポートします. :param sqr: 2乗された入力画像. ``CV_32SC1`` 型のみをサポートします. :param dst: 出力画像. ``src`` と同じ型,同じサイズになります. :param rect: 矩形窓. .. index:: gpu::evenLevels cv::gpu::evenLevels ------------------- `id=0.0360708340825 Comments from the Wiki `__ .. cfunction:: void evenLevels(GpuMat\& levels, int nLevels, int lowerLevel, int upperLevel) 一様に分布するレベル値を求めます. :param levels: 出力配列. ``levels`` は,1行 ``nLevels`` 列で, ``CV_32SC1`` 型の配列になります. :param nLevels: 求めるレベル値の個数. ``nLevels`` は,少なくとも2以上でなければいけません. :param lowerLevel: 最低レベル値に対する下限値. :param upperLevel: 最高レベル値に対する上限値. .. index:: gpu::histEven cv::gpu::histEven ----------------- `id=0.059871647128 Comments from the Wiki `__ .. cfunction:: void histEven(const GpuMat\& src, GpuMat\& hist, int histSize, int lowerLevel, int upperLevel) .. cfunction:: void histEven(const GpuMat\& src, GpuMat hist[4], int histSize[4], int lowerLevel[4], int upperLevel[4]) ビンが一様に分布するヒストグラムを計算します. :param src: 入力画像.ビット深度 ``CV_8U`` , ``CV_16U`` または ``CV_16S`` の,1,4 チャンネル画像です.4チャンネル画像では,すべてのチャンネルが個別に処理されます. :param hist: 出力ヒストグラム. 1行 ``histSize`` 列で, ``CV_32S`` 型になります. :param histSize: ヒストグラムのサイズ. :param lowerLevel: 最低レベルのビンの下限. :param upperLevel: 最高レベルのビンの上限. .. index:: gpu::histRange cv::gpu::histRange ------------------ `id=0.123663273758 Comments from the Wiki `__ .. cfunction:: void histRange(const GpuMat\& src, GpuMat\& hist, const GpuMat\& levels) .. cfunction:: void histRange(const GpuMat\& src, GpuMat hist[4], const GpuMat levels[4]) レベル値の配列によって決定されたビンを使って,ヒストグラムを計算します. :param src: 入力画像.ビット深度 ``CV_8U`` , ``CV_16U`` または ``CV_16S`` の,1,4 チャンネル画像です.4チャンネル画像では,すべてのチャンネルが個別に処理されます. :param hist: 出力ヒストグラム.1行 ``(levels.cols-1)`` 列で, ``CV_32SC1`` 型の行列になります. :param levels: ヒストグラム内のレベル値の個数.