エッジ検出 (Edge Retrieval)

Sobelフィルタによる微分画像

void cvSobel(
    const CvArr* src,      // 入力画像
    CvArr* dst,            // 出力画像
    int xorder,            // x導関数の次数
    int yorder,            // y導関数の次数
    int aperture_size = 3  // アパーチャサイズ (1,3,5,7のいずれか)
    );

画像のLaplacian

void cvLaplace(
    const CvArr* src,      // 入力画像
    CvArr* dst,            // 出力画像
    int aperture_size = 3  // アパーチャサイズ (1,3,5,7のいずれか)
    );

Cannyによるエッジ画像

void cvCanny(
    const CvArr* image,   // 入力画像
    CvArr* edges,         // 出力画像
    double threshold1,    // 1番目のしきい値
    double threshold2,    // 2番目のしきい値
    int aperture_size = 3 // アパーチャサイズ (1,3,5,7のいずれか)
    );

検出結果例

元画像
Sobel 水平方向
垂直方向
Laplacian
Canny