//创建时间2015年5月27日
//使用到的函数原型:
// 1、 IplImage* cvLoadImage( const char* filename, int flags=CV_LOAD_IMAGE_COLOR );
// 2、 void cvCanny( const CvArr* image,CvArr* edges,double threshold1,double threshold2, int aperture_size=3 );
//收获:cvReleaseImage( &m_PEdgePic );使用的时候参数是一个地址值。
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
using namespace std;
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
int main()
{
const char * m_PicName="华山论剑.jpg";
const char * m_SavePicName="华山论剑_边缘.jpg";
IplImage *m_PPic=cvLoadImage( m_PicName , CV_LOAD_IMAGE_GRAYSCALE ); //按灰度图像载入
if ( m_PPic == 0 )
{
cout<<"图片载入失败!"<<endl;
return -1;
}
IplImage *m_PEdgePic = NULL;
m_PEdgePic = cvCreateImage( cvGetSize(m_PPic) , m_PPic->depth , m_PPic->nChannels );
cvCanny( m_PPic , m_PEdgePic , 50 , 150 , 3 );
cvSaveImage ( m_SavePicName , m_PEdgePic );
cvNamedWindow( m_PicName );
cvShowImage( m_PicName , m_PEdgePic );
cvWaitKey( 0 );
cvDestroyWindow( m_PicName );
cvReleaseImage( &m_PEdgePic );
return 0;
}
//使用到的函数原型:
// 1、 IplImage* cvLoadImage( const char* filename, int flags=CV_LOAD_IMAGE_COLOR );
// 2、 void cvCanny( const CvArr* image,CvArr* edges,double threshold1,double threshold2, int aperture_size=3 );
//收获:cvReleaseImage( &m_PEdgePic );使用的时候参数是一个地址值。
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
using namespace std;
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
int main()
{
const char * m_PicName="华山论剑.jpg";
const char * m_SavePicName="华山论剑_边缘.jpg";
IplImage *m_PPic=cvLoadImage( m_PicName , CV_LOAD_IMAGE_GRAYSCALE ); //按灰度图像载入
if ( m_PPic == 0 )
{
cout<<"图片载入失败!"<<endl;
return -1;
}
IplImage *m_PEdgePic = NULL;
m_PEdgePic = cvCreateImage( cvGetSize(m_PPic) , m_PPic->depth , m_PPic->nChannels );
cvCanny( m_PPic , m_PEdgePic , 50 , 150 , 3 );
cvSaveImage ( m_SavePicName , m_PEdgePic );
cvNamedWindow( m_PicName );
cvShowImage( m_PicName , m_PEdgePic );
cvWaitKey( 0 );
cvDestroyWindow( m_PicName );
cvReleaseImage( &m_PEdgePic );
return 0;
}