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

原创 2016年08月31日 15:45:02
#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;

}





输出结果:






相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

OpenCV入门:图像边缘提取

本文将介绍如何利用OpenCV进行边缘提取。

【Web】用遗传算法实现图像边缘提取

1.项目说明这是自己写着玩的一个小项目,结合了遗传算法和图像分割的算法,实现了图像的边缘提取。图像分割的算法采用了大津阈值法,在该算法中,改造成使用遗传算法来寻找最佳阈值。该项目通过每隔1秒刷新界面的...
  • WHUZXQ
  • WHUZXQ
  • 2017年03月15日 14:10
  • 844

[图像处理]边缘提取以及Harris角点检测

在本周的计算机视觉与模式识别作业中,给定输入图像是两张普通A4打印纸,上面可能有手写笔记或者打印内容但是拍照时角度不正。要求输出: 1. 图像的边缘; 2. 计算 A4纸边缘的各直线方程; 3....

opencv学习-imgprocess-canny边缘提取

canny算法步骤: 1采用高斯核滤去噪声; 2求图像的梯度方向和梯度,可用sobel算子; 3非最大抑制应用:即没有被认为是边缘的像数就去除,留下候选边缘; 4判断边缘,设定了两个阈值,判断标准如下...

图像边缘提取技术的分析及优化

  • 2013年05月15日 19:23
  • 351KB
  • 下载

图像的边缘提取

  • 2013年09月26日 18:43
  • 237KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:opencv入门1:打开图像、平滑、边缘提取
举报原因:
原因补充:

(最多只允许输入30个字)