opencv实现canndy算子

// cannyDetection.cpp : 定义控制台应用程序的入口点。
//


#include "stdafx.h"
#include "cv.h"
#include "highgui.h"


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 _tmain(int argc, _TCHAR* argv[])
{
char* image="E:\\lenna.png";//图像名字注意更改
IplImage* in=cvLoadImage(image);
cvShowImage("Example6_in",in);
IplImage* out,* gray;//由于gray和in的内存空间不一样,所以需要单独重新分配
gray = cvCreateImage( cvSize( in->width,in->height ), in->depth, 1);
//把3通道图转化为单通道的灰度图
cvCvtColor(in, gray ,CV_BGR2GRAY);//把载入图像转换为灰度图
cvShowImage("Example6_gray",gray);
cvNamedWindow("Example6_in");
cvNamedWindow("Example6_gray");
cvNamedWindow("Example6_out");

out=doCanny(gray,0,255,3);

cvShowImage("Example6_out",out);
cvWaitKey(0);
cvReleaseImage(&in);
cvReleaseImage(&gray);
cvReleaseImage(&out);
cvDestroyWindow("Example6_in");
cvDestroyWindow("Example6_gray");
cvDestroyWindow("Example6_out");
return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值