#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;
}
opencv canny edge detector 边缘检测
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 前提:已经配好了opencv+Qt这里只讲如何使用api,不怎么讲算法原理 既然要用opencv的库,首先把相应的...
- 边缘检测的一般步骤 (1)滤波 边缘检测的算法主要是基于图像强度的一阶和二阶导数,但导数通常对噪声很是敏感,因此必...
- 向大家介绍一款浏览器插件,Markdown Here 简单来说,这款插件可以让你在通常的富文本编辑器上使用Mark...