opencv canny edge detector 边缘检测

#include <vector>
#include <iostream>

#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main(int argc, char** argv)
{
    if (argc < 2)
    {
        cout << "usage: ./demo input_image" << endl;
        return -1;
    }

    Mat img = imread(argv[1]);

    if (img.empty())
    {
        cout << "error: image is empty" << endl;
    }

    Mat imgGray, imgBlur, imgEdge;

    cvtColor(img, imgGray, CV_BGR2GRAY);

    //GaussianBlur(imgGray, imgBlur, Size(3, 3), 0, 0);
    blur(imgGray, imgBlur, Size(3, 3));

    double threshold = 10.0;
    Canny(imgBlur, imgEdge, threshold, threshold * 3, 3);

    imshow("img with edge", imgEdge);
    waitKey(0);

    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容