行列の操作 =============== .. highlight:: cpp .. index:: gpu::transpose cv::gpu::transpose ------------------ `id=0.770332248494 Comments from the Wiki `__ .. cfunction:: void transpose(const GpuMat\& src, GpuMat\& dst) 行列を転置します. :param src: 入力行列.現在,要素のサイズが 1,4,8バイトの場合をサポートします. :param dst: 出力行列. 参考: :func:`transpose` . .. index:: gpu::flip cv::gpu::flip ------------- `id=0.191548829231 Comments from the Wiki `__ .. cfunction:: void flip(const GpuMat\& a, GpuMat\& b, int flipCode) 2次元の行列を,垂直軸,水平軸,またはその両方の軸に関して反転します. :param a: 入力行列.現在, ``CV_8UC1`` と ``CV_8UC4`` の行列のみをサポートします. :param b: 出力行列. :param flipCode: 入力行列をどのように反転するかを指定します: * **0** x-軸周りに反転します. * **:math:`>`0** y-軸周りに反転します. * **:math:`<`0** 両軸周りに反転します. 参考: :func:`flip` . .. index:: gpu::LUT cv::gpu::LUT ------------ `id=0.691361127328 Comments from the Wiki `__ .. math:: dst(I) = lut(src(I)) .. cfunction:: void LUT(const GpuMat\& src, const Mat\& lut, GpuMat\& dst) 与えられたルックアップテーブルを用いて,入力行列から出力行列に変換します: :param src: 入力行列.現在, ``CV_8UC1`` および ``CV_8UC3`` 型の行列がサポートされています. :param lut: ルックアップテーブル.ビット深度が ``CV_8U`` で,連続な行列でなければいけません.また, ``lut.rows`` :math:`\times` ``lut.cols`` = 256 という条件を満たしている必要があります. :param dst: 出力行列. ``lut`` と同じビット深度, ``src`` と同じチャンネル数になります. 参考: :func:`LUT` . .. index:: gpu::merge cv::gpu::merge -------------- `id=0.951593709838 Comments from the Wiki `__ .. cfunction:: void merge(const GpuMat* src, size_t n, GpuMat\& dst) .. cfunction:: void merge(const GpuMat* src, size_t n, GpuMat\& dst, const Stream\& stream) 複数のシングルチャンネル行列から,マルチチャンネル行列を作成します. :param src: 入力行列の配列を指すポインタ. :param n: 入力行列の個数. :param dst: 出力行列. :param stream: 非同期バージョン用のストリーム. .. cfunction:: void merge(const vector$<$GpuMat$>$\& src, GpuMat\& dst) .. cfunction:: void merge(const vector$<$GpuMat$>$\& src, GpuMat\& dst, const Stream\& stream) * **src** 入力行列のベクトル. * **dst** 出力行列. * **stream** 非同期バージョン用のストリーム. 参考: :func:`merge` . .. index:: gpu::split cv::gpu::split -------------- `id=0.383170819886 Comments from the Wiki `__ .. cfunction:: void split(const GpuMat\& src, GpuMat* dst) .. cfunction:: void split(const GpuMat\& src, GpuMat* dst, const Stream\& stream) マルチチャンネル行列の各平面を,配列にコピーします. :param src: 入力行列. :param dst: 出力.シングルチャンネル行列の配列を指すポインタ. :param stream: 非同期バージョン用のストリーム. .. cfunction:: void split(const GpuMat\& src, vector$<$GpuMat$>$\& dst) .. cfunction:: void split(const GpuMat\& src, vector$<$GpuMat$>$\& dst, const Stream\& stream) * **src** 入力行列. * **dst** 出力.シングルチャンネル行列のベクトル. * **stream** 非同期バージョン用のストリーム. 参考: :func:`split` . .. index:: gpu::magnitude cv::gpu::magnitude ------------------ `id=0.0842847574731 Comments from the Wiki `__ .. cfunction:: void magnitude(const GpuMat\& x, GpuMat\& magnitude) 複素行列要素の絶対値を求めます. :param x: インタリーブ形式( ``CV_32FC2`` )の入力複素行列. :param magnitude: 出力行列( ``CV_32FC1`` ).絶対値が浮動小数点型で格納されます. .. cfunction:: void magnitude(const GpuMat\& x, const GpuMat\& y, GpuMat\& magnitude) .. cfunction:: void magnitude(const GpuMat\& x, const GpuMat\& y, GpuMat\& magnitude, const Stream\& stream) * **x** 入力行列( ``CV_32FC1`` ).実部が格納されます. * **y** 入力行列( ``CV_32FC1`` ).虚部が格納されます. * **magnitude** 出力行列( ``CV_32FC1`` ).絶対値が浮動小数点型で格納されます. * **stream** 非同期バージョン用のストリーム. 参考: :func:`magnitude` . .. index:: gpu::magnitudeSqr cv::gpu::magnitudeSqr --------------------- `id=0.387233782475 Comments from the Wiki `__ .. cfunction:: void magnitudeSqr(const GpuMat\& x, GpuMat\& magnitude) 複素行列要素の絶対値の2乗を求めます. :param x: インタリーブ形式( ``CV_32FC2`` )の入力複素行列. :param magnitude: 出力行列( ``CV_32FC1`` ).絶対値の2乗が浮動小数点型で格納されます. .. cfunction:: void magnitudeSqr(const GpuMat\& x, const GpuMat\& y, GpuMat\& magnitude) .. cfunction:: void magnitudeSqr(const GpuMat\& x, const GpuMat\& y, GpuMat\& magnitude, const Stream\& stream) * **x** 入力行列( ``CV_32FC1`` ).実部が格納されます. * **y** 入力行列( ``CV_32FC1`` ).虚部が格納されます. * **magnitude** 出力行列( ``CV_32FC1`` ).絶対値の2乗が浮動小数点型で格納されます. * **stream** 非同期バージョン用のストリーム. .. index:: gpu::phase cv::gpu::phase -------------- `id=0.445790602053 Comments from the Wiki `__ .. cfunction:: void phase(const GpuMat\& x, const GpuMat\& y, GpuMat\& angle, bool angleInDegrees=false) .. cfunction:: void phase(const GpuMat\& x, const GpuMat\& y, GpuMat\& angle, bool angleInDegrees, const Stream\& stream) 複素行列要素の偏角を求めます. :param x: 入力行列( ``CV_32FC1`` ).実部が格納されます. :param y: 入力行列( ``CV_32FC1`` ).虚部が格納されます. :param magnitude: 偏角が格納される出力行列( ``CV_32FC1`` ). :param angleInDegress: 度単位で評価されるべき偏角を指定するフラグ. :param stream: 非同期バージョン用のストリーム. 参考: :func:`phase` . .. index:: gpu::cartToPolar cv::gpu::cartToPolar -------------------- `id=0.219378559538 Comments from the Wiki `__ .. cfunction:: void cartToPolar(const GpuMat\& x, const GpuMat\& y, GpuMat\& magnitude, GpuMat\& angle, bool angleInDegrees=false) .. cfunction:: void cartToPolar(const GpuMat\& x, const GpuMat\& y, GpuMat\& magnitude, GpuMat\& angle, bool angleInDegrees, const Stream\& stream) カーテシアン座標を極座標に変換します. :param x: 入力行列( ``CV_32FC1`` ).実部が格納されます. :param y: 入力行列( ``CV_32FC1`` ).虚部が格納されます. :param magnitude: 出力行列( ``CV_32FC1`` ).絶対値が浮動小数点型で格納されます. :param magnitude: 偏角が格納される出力行列( ``CV_32FC1`` ). :param angleInDegress: 度単位で評価されるべき偏角を指定するフラグ. :param stream: 非同期バージョン用のストリーム. 参考: :func:`cartToPolar` . .. index:: gpu::polarToCart cv::gpu::polarToCart -------------------- `id=0.993160908652 Comments from the Wiki `__ .. cfunction:: void polarToCart(const GpuMat\& magnitude, const GpuMat\& angle, GpuMat\& x, GpuMat\& y, bool angleInDegrees=false) .. cfunction:: void polarToCart(const GpuMat\& magnitude, const GpuMat\& angle, GpuMat\& x, GpuMat\& y, bool angleInDegrees, const Stream\& stream) 極座標をカーテシアン座標に変換します. :param magnitude: 入力行列( ``CV_32FC1`` ).絶対値が格納されます. :param angle: 入力行列( ``CV_32FC1`` ).偏角が格納されます. :param x: 出力行列( ``CV_32FC1`` ).実部が格納されます. :param y: 出力行列( ``CV_32FC1`` ).虚部が格納されます. :param angleInDegress: 度単位で評価されるべき偏角を指定するフラグ. :param stream: 非同期バージョン用のストリーム. 参考: :func:`polarToCart` .