imgproc_pyrMeanShiftFiltering

[32bit] 画像に対して,Mean-Shift Segmentation の最初のステップを実行します.

imgproc_pyrMeanShiftFiltering p1,p2,p3,p4,p5,p6

p1 = sptr : IntPtr src
p2 = sptr : IntPtr dst
p3 = double : double sp
p4 = double : double sr
p5 = int : int maxLevel
p6 = ARGS_TERMCRITERIA : TermCriteria termcrit

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

解説

この関数は,Meanshiftセグメンテーションのフィルタリングステージを実装しています.つまり,この関数の出力は,色のグラデーションと細かいテクスチャが平坦になるようにフィルタリングされた「ポスタライズド」画像です.この関数は,入力画像(あるいは,ダウンサイズされた入力画像,下記参照)の各ピクセル(X,Y)に対して,Meanshiftの反復処理を行います.つまり,色のハイパースペースである結合空間におけるピクセル(X,Y)の近傍領域を考慮します.X- ????? X+ ????? Y- ????? Y+ ????? ||(R,G,B)-(r,g,b)|| ?????]ここで、(R,G,B)と(r,g,b)は、色空間のベクトルです。b)は、それぞれ(X,Y)と(x,y)における色成分のベクトルである(ただし、このアルゴリズムは使用する色空間に依存しないため、任意の3成分色空間を使用することができる)。近傍では、平均空間値(X',Y')と平均色ベクトル(R',G',B')が求められ、次の反復では、これらが近傍の中心として機能します:\[(X,Y)~(X',Y'),(R,G,B)~(R',G',B').I(X,Y) <- (R*,G*,B*)}\\\\\\その後、その結果をより大きな層に伝搬させ、ピラミッドの低解像度層と層の色がsr以上異なる画素のみを対象に、再度繰り返し実行します。これにより、色の領域の境界がより鮮明になります。なお、元の画像全体に対してMeanshift処理を実行した場合(つまりmaxLevel==0の場合)とは、実際には異なる結果となります。

元関数名(C#): imgproc_pyrMeanShiftFiltering
元DLLエクスポート名: imgproc_pyrMeanShiftFiltering
参照元CSファイル: Internal\PInvoke\NativeMethods\imgproc\NativeMethods_imgproc.cs
▼ C言語側関数定義
CVAPI(ExceptionStatus) imgproc_pyrMeanShiftFiltering(cv::_InputArray *src, cv::_InputOutputArray *dst,
                                          double sp, double sr, int maxLevel, MyCvTermCriteria termCrit)
{
    BEGIN_WRAP
    cv::pyrMeanShiftFiltering(*src, *dst, sp, sr, maxLevel, cpp(termCrit));
    END_WRAP
}

情報

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