opencv入门1:打开图像、平滑、边缘提取
#include"highgui.h"
#include<iostream>
#include"cv.h"

using namespace std;   

//提取边缘函数

IplImage* doCanny(
IplImage* in,
double lowThresh,
double highThresh,
double aperture
)
{


IplImage* out =cvCreateImage(
cvGetSize(in),
IPL_DEPTH_8U,
1
);
if(in->nChannels !=1)
cvCvtColor(in,out,CV_BGR2GRAY);//转灰度图,提取边缘只能用灰度图
IplImage* out1 =cvCreateImage(
cvGetSize(out),
IPL_DEPTH_8U,
1
);
cvCanny(out,out1,lowThresh,highThresh,aperture);//caany提取边缘
return(out1);
};
int main(int argc,char ** argv)
{
IplImage* image=cvLoadImage(argv[1]);
cvNamedWindow("Example-in");
    cvShowImage("Example-in",image);
IplImage* image1 =cvCreateImage(
cvGetSize(image),
IPL_DEPTH_8U,

);
cvSmooth(image,image1,CV_GAUSSIAN,3,3);//平滑图像
cvShowImage("Exaple-out",image1);
IplImage*image2=doCanny(image,10,100,3);

    cvShowImage("Exaple-out1",image2);

cvWaitKey(0);

cvDestroyWindow("Example-in");
cvDestroyWindow("Example-out");
cvDestroyWindow("Example-out1");
return 0;

}





输出结果:






阅读更多
个人分类: opecv1
想对作者说点什么? 我来说一句

opencv实现边缘检测

2015年01月28日 1.81MB 下载

没有更多推荐了,返回首页

不良信息举报

opencv入门1:打开图像、平滑、边缘提取

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭