OpenCV学习之Canny算法边缘检测(可调阈值)
2017-08-03 15:27
507 查看
threhold1和threshold2中的小阈值用来调控边缘连接,大阈值用来控制强边缘的初始分割。
Canny算法使用双阈值算法检测和连接边缘。
Canny算法使用双阈值算法检测和连接边缘。
////采用Canny算法进行边缘检测 #include "cv.h" #include "highgui.h" char wndname[] = "Edge"; char tbarname[] = "Threshold"; int edge_thresh = 1; IplImage* image = 0, *cedge = 0, *gray = 0, *edge = 0; //定义跟踪条的回调函数 void on_trackbar(int h) { cvSmooth(gray, edge, CV_BLUR, 3, 3, 0); cvNot(gray, edge); //边缘检测 cvCanny(gray, edge, (float)edge_thresh, (float)edge_thresh * 3, 3); //显示边缘 cvShowImage(wndname, edge); } int main(int argc, char** argv) { image = cvLoadImage("Lena.tiff", 1); cedge = cvCreateImage(cvSize(image->width, image->height), 8, 3); //将彩色图像转化为灰度图 gray = cvCreateImage(cvSize(image->width, image->height), 8, 1); edge = cvCreateImage(cvSize(image->width, image->height), 8, 1); cvCvtColor(image, gray, CV_BGR2GRAY); cvNamedWindow(wndname, 1); cvCreateTrackbar(tbarname, wndname, &edge_thresh, 100, on_trackbar); //显示图像 on_trackbar(0); cvWaitKey(0); cvReleaseImage(&image); cvReleaseImage(&gray); cvReleaseImage(&edge); cvDestroyWindow(wndname); return 0; }
相关文章推荐
- [学习opencv]图像sobel、laplacian、canny边缘检测
- OpenCV入门学习之边缘检测
- opencv学习(七)(opencv3.0.0+VS2012+win7)打开摄像头并且进行边缘检测加上了滑动条
- 【OpenCV图像处理入门学习教程四】基于LoG算子的图像边缘检测
- OpenCV学习 3:平滑过度与边缘检测
- 【OpenCV学习笔记】十九、图像边缘检测
- 学习【OpenCV入门教程之十二】OpenCV边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑---思维导图笔记
- OpenCV学习之旅2—边缘检测技术
- OpenCV学习:图像边缘检测
- OpenCV学习——边缘检测
- opencv学习(二)图像模糊及canny边缘检测
- opencv 学习第二天 学习opencv(中文版)对一幅图片进行canny边缘检测
- 对视频流进行边缘检测【OpenCV学习笔记6】
- 【OpenCV学习笔记】2.3图像的腐蚀、膨胀、模糊、边缘检测
- OpenCV学习 4:摄像头视频读写与边缘检测
- 学习opencv——从摄像机读取视频流并进行边缘检测
- Opencv学习之图像边缘检测
- OpenCV(学习笔记5)-Canny边缘检测
- opencv_tutorial_code学习——canny边缘检测后findContours
- OpenCV学习笔记(6)——边缘检测