core_getOptimalDFTSize

[32/64bit] 与えられたベクトルサイズに対する最適な DFT サイズを返します.

core_getOptimalDFTSize p1,p2

p1 = int : int vecsize
p2 = var : out int returnValue

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

解説

DFTの性能は,ベクトルサイズの単調な関数ではありません.そのため,2つの配列の畳み込みを計算したり,配列のスペクトル分析を行ったりする場合は,通常,入力データをゼロで埋めて,元の配列よりも高速に変換できる少し大きな配列を得ることが有効です.サイズが2の累乗(2,4,8,16,32,...)である配列は,最も高速に処理できます.関数 cv::getOptimalDFTSize は,サイズ N のベクトルの DFT を効率的に処理できるような, vecsize 以上の最小の数 N を返します.現在の実装では,N = 2 ^p^ * 3 ^q^ * 5 ^r^ for some integer p, q, r.この関数は, vecsize が大きすぎる(INT_MAX に非常に近い)場合,負の値を返します.この関数は,DCT変換のための最適なベクトルサイズを推定するために直接利用することはできませんが(現在のDCT実装は,偶数サイズのベクトルしかサポートしていないので), getOptimalDFTSize((vecsize+1)/2)*2 のように簡単に処理することができます.

元関数名(C#): core_getOptimalDFTSize
元DLLエクスポート名: core_getOptimalDFTSize
参照元CSファイル: Internal\PInvoke\NativeMethods\core\NativeMethods_core.cs
▼ C言語側関数定義
CVAPI(ExceptionStatus) core_getOptimalDFTSize(int vecsize, int *returnValue)
{
    BEGIN_WRAP
    *returnValue = cv::getOptimalDFTSize(vecsize);
    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