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学习笔记之针对二值图像的边缘光滑处理(突出部消除)

处理代码分为两部分,第一部分用于去除边缘的突出部,第二部分用于边缘光滑。具体如下所示 1.去除边缘突出部 //去除二值图像边缘的突出部 //uthreshold、vthreshold分别表示突出部的宽...
  • xl928471061
  • xl928471061
  • 2016年04月20日 10:28
  • 7558

OpenCV图像处理篇之图像平滑

图像平滑算法图像平滑与图像模糊是同一概念,主要用于图像的去噪。平滑要使用滤波器,为不改变图像的相位信息,一般使用线性滤波器,其统一形式如下:其中h称为滤波器的核函数,说白了就是权值。不同的核函数代表不...
  • xiahouzuoxin
  • xiahouzuoxin
  • 2014年09月18日 21:24
  • 22818

OpenCV学习笔记之二值图像的边缘光滑处理

//去除二值图像边缘的突出部   //uthreshold、vthreshold分别表示突出部的宽度阈值和高度阈值   //type代表突出部的颜色,0表示黑色,1代表白色    void de...
  • z123321zyf
  • z123321zyf
  • 2017年04月13日 09:45
  • 1217

opencv实现边缘检测

在opencv中显示边缘检测很简单,只需调用一个cvCanny函数,其使用的是
  • zhx6044
  • zhx6044
  • 2014年09月13日 22:46
  • 8548

OpenCV学习笔记之针对二值图像的边缘光滑处理(突出部消除)

处理代码分为两部分,第一部分用于去除边缘的突出部,第二部分用于边缘光滑。具体如下所示 1.去除边缘突出部 //去除二值图像边缘的突出部 //uthreshold、vthreshold分别表示突出部的宽...
  • xl928471061
  • xl928471061
  • 2016年04月20日 10:28
  • 7558

3 opencv平滑边缘锯齿代码

#include #include #include using namespace cv; using namespace std;int main(int argc, const char**...
  • qq_16949707
  • qq_16949707
  • 2017年04月21日 22:32
  • 2302

OpenCV图像处理篇之图像平滑

图像平滑算法图像平滑与图像模糊是同一概念,主要用于图像的去噪。平滑要使用滤波器,为不改变图像的相位信息,一般使用线性滤波器,其统一形式如下:其中h称为滤波器的核函数,说白了就是权值。不同的核函数代表不...
  • xiahouzuoxin
  • xiahouzuoxin
  • 2014年09月18日 21:24
  • 22818

opencv图像平滑滤波处理cvSmooth的汇总

函数 cvSmooth 可使用简单模糊、简单无缩放变换的模糊、中值模糊、高斯模糊、双边滤波的任何一种方法平滑图像。每一种方法都有自己的特点以及局限。中值滤波是基于排序统计理论的一种能有效抑制噪声的非线...
  • gdut2015go
  • gdut2015go
  • 2015年06月05日 10:29
  • 1036

【OpenCV3】平滑处理详解

“平滑”通常又称“模糊”,是一种简单常用的图像处理操作。进行平滑处理的原因有很多,但通常是用来去除噪声和相机失真,平滑在按照一定的原理来降低图像分辨率中也有重要应用。 OpenCV2和OpenCV3中...
  • guduruyu
  • guduruyu
  • 2017年03月29日 14:00
  • 3157

【OpenCV学习笔记】十九、图像边缘检测

图像边缘检测 Canny边缘检测——Canny() Sobel边缘检测——Sobel() Laplacian边缘检测——Laplacian() 先上ppt: ...
  • abc8730866
  • abc8730866
  • 2017年03月18日 17:35
  • 1609
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:opencv入门1:打开图像、平滑、边缘提取
举报原因:
原因补充:

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