20.Cannyエッジ検出

1.主な内容

  • キャニーアルゴリズムが導入します
  • APIのCV ::キャニー()
    クローンとのcopyToの違いは、リンクを参照して、ノートの図は、マスクのcopyTo
    倒立像を

2.Cannyアルゴリズムが導入します

  • キャニーエッジ検出アルゴリズムは、1986年に提案されています
  • それは良いのエッジ検出器であります
  • それは一般的に非常に有用な画像処理方法であって、
    以下の工程をアルゴリズム:
高斯模糊——GaussianBlur()              //降噪声
灰度转换——cvtColor
计算梯度——sobel/Schar                  
非最大信号抑制
高低阈值输出二值图像
  • 非最大阻害信号
    信号が非常に強いエッジであるとき、システムは大きなエッジと考えられているが、唯一つのエッジ、我々は非エッジ画素抑制することになるだろう、この時間。この方向での最大信号の----阻害ではなく、最大値、その値が削除されて入れ、
    ソーベル演算子の後、我々はのGxおよびGyとを取得し、その計算され、我々は角を得る、ことにより、我々はトレンド勾配を取得し、この角度は、例えば、我々は、比ならば、我々は、それに比べて+ Y(垂直)方向、今左、右の中間値を見つけ、+ x軸方向に大きな変化を得ますそれは小さな値、そして左右に削除され、中間保持です。
    ここに画像を挿入説明

  • 高および低しきい値出力バイナリイメージの
    解釈:画像のこの時点で原因私たちは今、画像のエッジがより顕著であるが、エッジの一部がまだ接続されていないかもしれないいくつかの理由のために、我々はこのようである必要が持っている、前に非最大信号抑制へエッジを接続します。
    具体的な動作:T1、T2の閾値、通常より高いT2よりも保持され、T1は、画素はT2、T1よりも高く、全て相互接続よりも大きいから、保存され、廃棄さ未満である、二値画像が最終的に得られます。
    推奨される高及び低閾値比T2:T1 = 3:1/2: 1 高閾値T2は、T1は、低閾値であります
    ここに画像を挿入説明
    ここに画像を挿入説明

詳細3.API

(キャニー機能は私達に次の5つのステップの良いパッケージ、ガウスぼかし、階調変換、ソーベル演算子、非最大抑制信号、閾値の最大出力レベルを助けます)

Canny(
    InputArray  src,     //8-bit的输入图像
    OutputArray  edges,  //输出边缘图像,一般都是二值图像,背景是黑色
    double threshold1,   //低阈值,常取高阈值的1/2或者1/3
    double threshold2,   //高阈值
    int aptertureSize,   //Sobel算子,常取3x3,取值3
    bool  L2gradient     //选择true表示是L2来归一化,默认用L1(false)归一化 
)

4.image.copyTo(画像2)補足説明機能

この関数は、すなわち、二つの定義のcopyTo方法があります

void  copyTo (OutputArray m)  const;

void  copyTo(OutputArray m ,InputArray mask)  const;

すなわち、パラメータは、出力画像又は出力画像とマスクマップすることができ
、次いで
image.copyTo(imageROI);
であり、このイメージ・コピーの画像imageROIに(のコピー)
image.copyTo(imageROI、マスク) ;
これはmageROI〜図コピーの画像のみ(コピー)がなく、値0を有するピクセルをマスクに対応する画像画素はimageROIに固定されていません。

余分な拡張:
--copyToのOpenCV3()関数の方法で使用
キャニーエッジ検出分析

公開された56元の記事 ウォン称賛51 ビュー6507

おすすめ

転載: blog.csdn.net/qq_43367829/article/details/105423652