core_reduce

[32/64bit] 行列をベクトルに変換します。

core_reduce p1,p2,p3,p4,p5

p1 = sptr : IntPtr src
p2 = sptr : IntPtr dst
p3 = int : int dim
p4 = int : int rtype
p5 = int : int dtype

(プラグイン / モジュール : OpenCvSharpExtern.dll)

解説

関数 reduce は,行列の行/列を 1 次元ベクトルの集合として扱い,単一の行/列が得られるまで,そのベクトルに対して指定された処理を行うことで,行列をベクトルに変換します.例えば,この関数は,ラスター画像の水平・垂直方向の投影図を求めるために利用できます.REDUCE_MAX および REDUCE_MIN の場合,出力画像は入力画像と同じ型でなければいけません.REDUCE_SUM や REDUCE_AVG の場合,精度を保つために,出力の要素のビット深度を大きくすることができます.また,この2つのリダクションモードでは,マルチチャンネル配列もサポートされています.以下のコードは,シングルチャンネルの行列に対する使い方を示しています.Mat m = (Mat_<uchar>(3,2) << 1,2,3,4,5,6); Mat col_sum, row_sum; reduce(m, col_sum, 0, REDUCE_SUM, CV_32F); reduce(m, row_sum, 1, REDUCE_SUM, CV_32F); /* m = [ 1, 2;           3, 4; 5, 6] col_sum = [9, 12] row_sum = [3; 7; 11] */fragmentまた,次のコードは,2チャンネルの行列に対する使い方を示しています.// 2 チャンネル char d[] = {1,2,3,4,5,6}; Mat m(3, 1, CV_8UC2, d); Mat col_sum_per_channel; reduce(m, col_sum_per_channel, 0, REDUCE_SUM, CV_32F); /* col_sum_per_channel = [9, 12] */fragment他の項目も参照してください.

元関数名(C#): core_reduce
元DLLエクスポート名: core_reduce
参照元CSファイル: Internal\PInvoke\NativeMethods\core\NativeMethods_core.cs
▼ C言語側関数定義
CVAPI(ExceptionStatus) core_reduce(cv::_InputArray* src, cv::_OutputArray* dst, int dim, int rtype, int dtype)
{
    BEGIN_WRAP
    cv::reduce(*src, *dst, dim, rtype, dtype);
    END_WRAP
}

情報

プラグイン / モジュールOpenCvSharpExtern.dll
バージョン1.00
作成日2021/11/30
著作者inovia
URLhttps://hsp.moe/
備考#include "OpenCvSharpExtern32.as"
#include "OpenCvSharpExtern64.as"
使用するHSPランタイムのビット数に合わせたインクルードファイルを使用すること
タイプOpenCVSharpラッパーDLL
グループNativeMethods_core
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\OpenCvSharpExtern.hs