opencv 4 边缘检测
来源:互联网 发布:mac更换登录帐号 编辑:程序博客网 时间:2024/06/06 13:36
使用OpenCv采集图像及图像边缘检测
边缘检测就是对采集到的图像进行处理,得到一幅显示边缘轮廓的图像,以便后续的处理与利用。
使用函数cvCanny:
void cvCanny( const CvArr* image, CvArr* edges, doublethreshold1, double threshold2, int aperture_size=3 );
image
单通道输入图像.
edges
单通道存储边缘的输出图像
threshold1
第一个阈值
threshold2
第二个阈值
aperture_size
Sobel 算子内核大小 (见 cvSobel).
函数 cvCanny 采用 CANNY 算法发现输入图像的边缘而且在输出图像中标识这些边缘。threshold1和threshold2 当中的小阈值用来控制边缘连接,大的阈值用来控制强边缘的初始分割。
注意:cvCanny只接受单通道图像作为输入。
实现代码如下:
1. #include <stdio.h>
2. #include <stdlib.h>
3. #include <opencv/highgui.h>
4. #include <opencv/cv.h>
5.
6. int main()
7. {
8. IplImage* img;
9. IplImage* src;
10. IplImage* dst;
11.
12. CvCapture* cam = cvCreateCameraCapture(0);//初始化摄像头
13. cvSetCaptureProperty(cam, CV_CAP_PROP_FRAME_WIDTH, 640);//设置图像宽
14. cvSetCaptureProperty(cam, CV_CAP_PROP_FRAME_HEIGHT,480);//设置图像高
15.
16. img = cvQueryFrame(cam);//获取一帧图像
17. src = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);//用所获图像创建8位、单通道图像
18. cvConvertImage(img, src, 0);
19. dst = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);//用所获图像创建8位、单通道图像
20.
21. cvCanny(src, dst, 50, 100, 3);//边缘检测
22.
23. cvNamedWindow("Test", CV_WINDOW_AUTOSIZE);
24. cvNamedWindow("Out", CV_WINDOW_AUTOSIZE);
25.
26. cvShowImage("Test", img);//显示原图像
27. cvShowImage("Out", dst);//边缘检测后的图像
28. cvSaveImage("out.jpg", dst, 0);//保存
29. cvWaitKey(0);
30.
31. cvReleaseImage(&img);
32. cvReleaseImage(&src);
33. cvReleaseImage(&dst);
34. cvDestroyWindow("Test");
35. cvDestroyWindow("Out");
36. }
37.
cvCanny函数生成的轮廓
拉普拉斯变换生成的轮廓图
- opencv 4 边缘检测
- opencv笔记(4):边缘检测
- 【OpenCV】Canny 边缘检测
- Opencv边缘检测
- opencv-canny边缘检测
- OpenCV边缘检测
- opencv canny边缘检测
- opencv-边缘检测
- OpenCV边缘检测
- openCV Canny边缘检测
- opencv实现边缘检测
- OpenCV边缘检测
- opencv 3.0 边缘检测
- opencv:检测边缘
- opencv之边缘检测
- OpenCV 之 边缘检测
- OpenCV 边缘检测
- 【openCV】Canny边缘检测
- GBK与UTF-8的区别
- 设计模式之组合模式(Composite)
- 在Linux环境下搭建Tomcat+mysql+jdk环境
- MYSQL优化--索引(一)
- 欢迎使用CSDN-markdown编辑器
- opencv 4 边缘检测
- jsp中9大内置对象与servlet3大域对象与EL里面的11隐式对象
- Error:Could not find com.android.tools.build:gradle:2.3.3.
- JSONArray转java实体集合提示MorphDynaBean
- 零基础学TensorFlow(二):初识TensorFlow
- 详解wait和waitpid函数
- MySQL 练习题
- c++ 多字节 转换为 unicode
- selenium在firefox下运行junit4报错java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkAr