キャプチャ画像にフィルターをかける #
キャプチャ画像にフィルターをかけることで、判定処理をより正確に行うことができる場合があります。
使用方法 #
表のFilter
列に使用したいフィルターを入力します。
入力方法 #
フィルターとパラメーターを”,“でつなぎ、フィルター毎に”{}“で囲んでください。
※★マークがついたフィルターはグレースケール化が必要です。{Grayscale}を追加してください。
例:{Grayscale}{Canny,50,110}
{Grayscale} #
映像をグレースケール化する。
{CvtColor,n1} #
映像の色空間を変更する。
- n1: ColorConversionCodes (40: toHSV 44: toLab 50: toLuv 52: toHLS 54: HSVtoBGR 56:LabtoBGR 58: LuvtoBGR 60: HLStoBGR)
★{Canny,n1,n2} #
{Canny,50,110}
映像のエッジ検出を行う。
- n1: threshold1 (0 ~ )
他エッジとの隣接部分(エッジになりやすい部分)におけるエッジかどうかの判断のゆるい閾値 - n2: threshold2 (0 ~ )
エッジかどうかの判断の閾値そのもの
参考:https://qiita.com/Takarasawa_/items/1556bf8e0513dca34a19
★{Laplacian,n1,n2,n3} #
{Laplacian,3,2,0}
映像のエッジ検出を行う。
- n1: KernelSize (1 ~ 31)
フィルターの幅 ※奇数 - n2: Scale (1 ~ )
求められたラプラシアンに対するスケールファクター - n3: Delta (0 ~ )
結果に足されるオプション値 参考:http://nobotta.dazoo.ne.jp/blog/?p=488
★{Threshold,n1,n2,n3} #
{Threshold,127,255,0}
映像を二値化する。
- n1: Thresh (0 ~ 255)
しきい値。 - n2: Maxval (0 ~ 255)
二値化後の輝度値。 - n3: ThresholdTypes (0: Binary 1: BinaryInv 2: Trunc 4: ToZeroInv 8: Otsu 16: Triangle)
※ThresholdTypesを8にする場合、Threshを0にするとしきい値が自動で計算されます。
★{AdaptiveThreshold,n1,n2,n3,n4,n5} #
{AdaptiveThreshold,255,1,0,9,12}
映像を適応的二値化する。
- n1: Maxval (0 ~ 255)
二値化後の輝度値。 - n2: AdaptiveThresholdTypes (0: MeanC 1: GaussianC)
適応的しきい値処理で使用するアルゴリズム。 - n3: ThresholdTypes (0: Binary 1: BinaryInv 2: Trunc 4: ToZeroInv 8: Otsu 16: Triangle)
しきい値処理で使用するアルゴリズム。 - n4: BlockSize (1 ~ )
近傍サイズ。 ※奇数 - n5: c (0 ~ )
計算結果から減算する定数 参考:https://schima.hatenablog.com/entry/2013/10/19/085019
★{Sauvola,n1,n2,n3} #
{Sauvola,7,0.15,32}
映像をSauvola方式で二値化する(適応的二値化の1つ)。
- n1: KernelSize (1 ~ )
フィルターの幅 ※奇数 - n2: k (x.x ~ )
- n3: r ( ~ )
★{Nick,n1,n2} #
{Nick,7,-0.1}
映像をNick方式で二値化する(適応的二値化の1つ)。
- n1: KernelSize (1 ~ )
フィルターの幅 ※奇数 - n2: k (-0.2 ~ -0.1)
{BitwiseNot} #
映像をネガポジ反転する。
{Separation,n1} #
映像からR/G/Bを分離する。※グレースケール化されます。
- n1: Color (0: B 1: G 2: R)
{InRange,n1,n2,n3,n4,n5,n6} Color #
{InRange,n1,n2} Grayscale #
指定範囲内の色を抽出し、二値画像とする。 [Color]
- n1,n2,n3: lowerb (0 ~ 255)
それぞれB、G、Rの下限 - n4,n5,n6: upperb (0 ~ 255)
それぞれB、G、Rの上限 [Grayscale] - n1: lowerb (0 ~ 255)
輝度値の下限 - n2: upperb (0 ~ 255)
輝度値の上限
{Blur,n1,n2} #
{Blur,5,5}
映像を平滑化する。平均値ぼかし
- n1,n2: Kernel size (1 ~ )
フィルターの幅 ※奇数
参考:https://shikaku-mafia.com/opencv-smoothing/
{GaussianBlur,n1,n2,n3} #
{GaussianBlur,5,5,0}
映像を平滑化する。
- n1: Kernel size (1 ~ )
x方向のKernel size ※奇数 - n2: Kernel size (1 ~ )
y方向のKernel size ※奇数 - n3: SigmaX (0 ~ )
Kernelの標準偏差 ※SigmaY = SigmaX ※0を指定するとKernel sizeから自動的に計算される。
{MedianBlur,n1} #
{MedianBlur,5}
映像を平滑化する。中央値ぼかし
- n1: Kernel size (1 ~ )
フィルターの幅 ※奇数
{BilateralFilter,n1,n2,n3} #
{BilateralFilter,5,50,20}
映像をエッジを残したまま平滑化する。
- n1: d (0 ~ )
各ピクセル近傍の直径(0のとき自動計算)。大きいほどぼかしが強くなる。 - n2: sigmaColor (0 ~ )
色空間の標準偏差 - n3: sigmaSpace (0 ~ )
座標空間の標準偏差。
参考:https://negizoku.hatenablog.jp/entry/2020/09/20/225354
{Erode,n1} #
収縮フィルター
- n1: Iterations (1 ~ )
フィルターをかける回数
{Dilate,n1} #
膨張フィルター
- n1: Iterations (1 ~ )
フィルターをかける回数
{MorphologyEx,n1,n2} #
さまざまなモルフォロジー処理(形、輪郭を基準とした処理)
- n1: MorphTypes (0: Erode 1: Dilate 2: Open 3: Close 4: Gradient 5: Tophat 6: Blackhat 7: Hitmiss)
解析タイプ。 - n2: Iterations
フィルターをかける回数
※Hitmissのみグレースケール化が必要?
参考:https://qiita.com/aa_debdeb/items/9404d481d7b01cb7b41b
https://jp.mathworks.com/help/images/morphological-dilation-and-erosion.html