imgproc_floodFill2

[32bit] 与えられた色で連結成分を塗りつぶします.

imgproc_floodFill2 p1,p2,p3,p4,p5,p6,p7,p8,p9

p1 = sptr : IntPtr image
p2 = sptr : IntPtr mask
p3 = ARGS_POINT : Point seedPoint
p4 = ARGS_SCALAR : Scalar newVal
p5 = var : out Rect rect
p6 = ARGS_SCALAR : Scalar loDiff
p7 = ARGS_SCALAR : Scalar upDiff
p8 = int : int flags
p9 = var : out int returnValue

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

解説

関数 cv::floodFill は,種点から始まる連結成分を,指定された色で塗りつぶします.この連結性は,隣接するピクセルの色と明るさの近さによって決まります.このピクセルは,以下の場合に,塗り替え領域に属するとみなされます:グレースケール画像で,浮動小数点数の場合


\(x',y')-(x',y')-(x',y')(x',y')-\\\\\\(x,y)には、\\\が含まれます。(x',y')+ ??? -? ???








グレースケール画像で範囲が決まっている場合は


\♪♪~( ????? )\\\\(x,y) ??? -? ????( ????? ) + ????? )








カラー画像でフローティングレンジの場合


\\\\(x',y')_r- ????Lo_Diff????_r ardor(x,y)_r ??? -? ???(x',y')_r+ ??? -? ????_r,\]





 


\♪♪~(x',y')_g - ??? -? ????_g ??? -? ???(x,y)_g \\(x',y')_g+ ??? -? ????_g\]





 そして


\\\\(x',y')_b- ????Lo_Diff????_b wrestler's Mr.(x,y)_b ??? -? ???(x',y')_b+ ??? -? ????_b\]








カラー画像で範囲が固定されている場合


\♪♪~( ????? )_r ardor(x,y)_r \\\( ??o??? )_r+ ??o??? )_r,\]





 


\♪♪♪♪♪~( ????? ) _g- ?loDiff?_g ?????????????????????? 600(x,y)_g W\\\( ????? ) _g+ ????? )_g\]





 そして


\\\\( ????? ) _b- ?????_b ????? )(x,y)_b ??? -? ????( ??o??? )_b+ ??o??? )ここで,\(src(x',y')\)は,すでにコンポーネントに属することがわかっているピクセルネイバーの1つの値です.つまり,連結成分に追加されるためには,ピクセルの色や明るさが,次のように十分に近い必要があります:浮動小数点数の場合は,既に連結成分に属している隣のピクセルの色や明るさ.


これらの関数を利用して,指定した色で連結成分をその場でマークしたり,マスクを作成してから輪郭を抽出したり,その領域を別の画像にコピーしたりすることができます.注意:マスクは塗りつぶした画像よりも大きいので,画像中のピクセル ?((x, y)?)は,マスク中のピクセル ?((x+1, y+1)?)に相当します.

元関数名(C#): imgproc_floodFill2
元DLLエクスポート名: imgproc_floodFill2
参照元CSファイル: Internal\PInvoke\NativeMethods\imgproc\NativeMethods_imgproc.cs
▼ C言語側関数定義
CVAPI(ExceptionStatus) imgproc_floodFill2(cv::_InputOutputArray *image, cv::_InputOutputArray *mask,
                              MyCvPoint seedPoint, MyCvScalar newVal, MyCvRect *rect,
                              MyCvScalar loDiff, MyCvScalar upDiff, int flags, int* returnValue)
{
    BEGIN_WRAP
    cv::Rect rect0;
    *returnValue = cv::floodFill(*image, *mask, cpp(seedPoint), cpp(newVal), &rect0, cpp(loDiff), cpp(upDiff), flags);
    *rect = c(rect0);
    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