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;

}





输出结果:






版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

OpenCV入门:图像边缘提取

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

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

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

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

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

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

opencv学习-imgprocess-canny边缘提取

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

计算机视觉----图像底层特征提取之边缘提取(一)

图像底层特征提取是计算机视觉的基本步骤 1:边缘和轮廓能反映图像内容; 2:如果能对边缘和关键点可靠提取的话,很多视觉问题就基本上得到了解决边缘的定义 “边缘是图像中亮度突然变化的区域。” “图像...

图像的边缘提取

边缘提取以及边缘增强是不少图像处理软件都具有的基本功能,它的增强效果很明显,在用于识别的应用中,图像边缘也是非常重要的特征之一。图像边缘保留了原始图像中相当重要的部分信息,而又使得总的数据量减小了很多...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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