opencv图像边缘检测使用,先做平滑处理在进行边缘检测
2013-06-25 11:25
931 查看
#include<cv.h>
#include<highgui.h>
CvCapture* capture;
IplImage* doCanny(IplImage *in,double lowThresh,double highThresh,double aperture)
{
/*if(in->nChannels!=1)
return 0;*/
IplImage* out=cvCreateImage(cvSize(in->width,in->height),IPL_DEPTH_8U,1);
cvCanny(in,out,lowThresh,highThresh,aperture);
return out;
}
int main()
{
capture=cvCreateCameraCapture(-1);
IplImage* frame;
IplImage* out;
while(1)
{
/*cvQueryFrame用来将下一帧视频文件载入内存,返回一个对应当前帧的指针,
此内存是cvCapture已经加载好的内存,所以最后不用再写释放帧的语句,释放capture就包含了释放cvFrame。*/
frame=cvQueryFrame(capture);
if(!frame)
break;
cvSmooth(frame,frame,CV_GAUSSIAN,3,3,0,0);
//out=doCanny(frame,30,100,3);
cvShowImage("show",frame);
//cvShowImage("show",out);
char c=cvWaitKey(33);
if(c==27)
{
cvReleaseCapture(&capture);
//cvDestroyWindow("video");
break;
}
}
return 0;
}
#include<highgui.h>
CvCapture* capture;
IplImage* doCanny(IplImage *in,double lowThresh,double highThresh,double aperture)
{
/*if(in->nChannels!=1)
return 0;*/
IplImage* out=cvCreateImage(cvSize(in->width,in->height),IPL_DEPTH_8U,1);
cvCanny(in,out,lowThresh,highThresh,aperture);
return out;
}
int main()
{
capture=cvCreateCameraCapture(-1);
IplImage* frame;
IplImage* out;
while(1)
{
/*cvQueryFrame用来将下一帧视频文件载入内存,返回一个对应当前帧的指针,
此内存是cvCapture已经加载好的内存,所以最后不用再写释放帧的语句,释放capture就包含了释放cvFrame。*/
frame=cvQueryFrame(capture);
if(!frame)
break;
cvSmooth(frame,frame,CV_GAUSSIAN,3,3,0,0);
//out=doCanny(frame,30,100,3);
cvShowImage("show",frame);
//cvShowImage("show",out);
char c=cvWaitKey(33);
if(c==27)
{
cvReleaseCapture(&capture);
//cvDestroyWindow("video");
break;
}
}
return 0;
}
相关文章推荐
- 在Android平台上利用opencv进行图像处理之边缘检测、灰度变换、缩小
- 题目:opencv下对图像进行图像模糊(均值滤波)处理和边缘检测
- openCV学习笔记(二)------图像平滑处理和边缘检测
- opencv 图像处理 形态学操作 腐蚀 膨胀 开闭运算 阈值二值化 图像卷积 图像金字塔 Sobel算子 Laplacian 算子 candy边缘检测 霍夫变换 直方图
- javaCV图像处理之Frame、Mat和IplImage三者相互转换(使用openCV进行Mat和IplImage转换)
- android中使用OpenCV之图像边缘检测
- android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测
- opencv-载入一幅图像并进行平滑处理
- 【OpenCV图像处理】二十二、图像边缘检测(上)
- OpenCV之imgproc 模块. 图像处理(2)实现自己的线性滤波器 给图像添加边界 Sobel 导数 Laplace 算子 Canny 边缘检测
- Atitit 图像处理 halcon类库的使用 范例边缘检测 attilax总结
- linux下使用opencv接口函数对图像进行光滑处理
- 四.使用OpenCv采集图像及图像边缘检测
- 【OpenCV3图像处理】边缘检测:Sobel算子,Laplace算子,Canny算子
- Atitit 图像处理 halcon类库的使用 范例边缘检测 attilax总结
- OpenCV使用Canny边缘检测器实现图像边缘检测
- OpenCV使用Sobel滤波器实现图像边缘检测
- 对比使用C# unsafe代码和OpenCV进行图像处理的效率(上)
- android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测
- ROS学习笔记(2):在ROS中使用OpenCV进行简单的图像处理---代码实现篇