四.使用OpenCv采集图像及图像边缘检测
2014-04-04 22:19
701 查看
边缘检测就是对采集到的图像进行处理,得到一幅显示边缘轮廓的图像,以便后续的处理与利用。
使用函数cvCanny:
image单通道输入图像.edges单通道存储边缘的输出图像threshold1第一个阈值threshold2第二个阈值aperture_sizeSobel 算子内核大小 (见 cvSobel).
函数 cvCanny 采用 CANNY 算法发现输入图像的边缘而且在输出图像中标识这些边缘。threshold1和threshold2 当中的小阈值用来控制边缘连接,大的阈值用来控制强边缘的初始分割。
注意:cvCanny只接受单通道图像作为输入。
实现代码如下:
使用函数cvCanny:
void cvCanny( const CvArr* image, CvArr* edges, double threshold1, double threshold2, int aperture_size=3 );
image单通道输入图像.edges单通道存储边缘的输出图像threshold1第一个阈值threshold2第二个阈值aperture_sizeSobel 算子内核大小 (见 cvSobel).
函数 cvCanny 采用 CANNY 算法发现输入图像的边缘而且在输出图像中标识这些边缘。threshold1和threshold2 当中的小阈值用来控制边缘连接,大的阈值用来控制强边缘的初始分割。
注意:cvCanny只接受单通道图像作为输入。
实现代码如下:
#include <stdio.h> #include <stdlib.h> #include <opencv/highgui.h> #include <opencv/cv.h> int main() { IplImage* img; IplImage* src; IplImage* dst; CvCapture* cam = cvCreateCameraCapture(0);//初始化摄像头 cvSetCaptureProperty(cam, CV_CAP_PROP_FRAME_WIDTH, 640);//设置图像宽 cvSetCaptureProperty(cam, CV_CAP_PROP_FRAME_HEIGHT,480);//设置图像高 img = cvQueryFrame(cam);//获取一帧图像 src = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);//用所获图像创建8位、单通道图像 cvConvertImage(img, src, 0); dst = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);//用所获图像创建8位、单通道图像 cvCanny(src, dst, 50, 100, 3);//边缘检测 cvNamedWindow("Test", CV_WINDOW_AUTOSIZE); cvNamedWindow("Out", CV_WINDOW_AUTOSIZE); cvShowImage("Test", img);//显示原图像 cvShowImage("Out", dst);//边缘检测后的图像 cvSaveImage("out.jpg", dst, 0);//保存 cvWaitKey(0); cvReleaseImage(&img); cvReleaseImage(&src); cvReleaseImage(&dst); cvDestroyWindow("Test"); cvDestroyWindow("Out"); }
相关文章推荐
- OpenCV使用Sobel滤波器实现图像边缘检测
- opencv图像边缘检测使用,先做平滑处理在进行边缘检测
- Python语言opencv使用笔记(七)(图像梯度与边缘检测)
- android中使用OpenCV之图像边缘检测
- android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测
- android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测
- OpenCV使用Canny边缘检测器实现图像边缘检测
- 使用OpenCV对图像作边缘检测(Canny、Sobel、Laplace)
- Python下opencv使用笔记(七)(图像梯度与边缘检测)
- android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测
- android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!
- 【OpenCV学习笔记】十九、图像边缘检测
- 使用Python和OpenCV检测图像中的物体并将物体裁剪下来
- OpenCV--图像边缘检测
- Canny边缘检测源码与图像结果(OpenCV2.0)
- opencv3_java 图像的边缘检测Canny Canny
- Python下opencv使用笔记(七)(图像梯度与边缘检測)
- opencv(10)图像变换之边缘检测
- 题目:Visual Studio 2015在opencv 3.1.0下,使用OpenCV函数 HoughCircles 在一幅图像中检测圆
- Opencv使用索贝尔滤波进行边缘检测