OpenCV-将图像转化为灰度图,然后边缘检测

1:代码如下:

 

#include "stdafx.h"
#include "highgui.h"
#include "cv.h"
#include "iostream"
using namespace std;
IplImage* doCanny(IplImage* in,double lowThresh,double highThresh,double aperture)
{
    if(in->nChannels !=1) //只对应于单通道,即灰度图
    {
        cout<<"不是灰度图"<


运行结果:

 

OpenCV-将图像转化为灰度图,然后边缘检测_第1张图片

2:cvCanny代码解释如下:

 

/*void cvCanny(const CvArr* img,
                   CvArr* edges,
                   double lowThresh,
                   double highThresh,
                   int apertureSize=3);
    边缘检测算法
    img:输入图像,为灰度图。
    edges:输出图像,也是灰度图,是布尔图像。
    lowThresh:下限阈值
    highThresh:上线阈值
    apertureSize:另一个中孔,通常,这个被sobel算子用到的中孔是cvCanny()在内部使用的。Sobel算子内核大小*/

 

 

 

 

 

你可能感兴趣的:(OpenCV1.0)