#include "stdafx.h"
#include "cxcore.h"
#include "highgui.h"
#include "cv.h"
#define ISCOLOR -1
//#using namespace cv;
int main(void)
{
IplImage* src = cvLoadImage("lena.jpg",ISCOLOR); //载入源图片
IplImage* pImgOpen = NULL; // 声明IplImage变量
IplConvKernel* pKernel = NULL; // 声明IplConvKernel变量
pImgOpen = cvCloneImage(src); //将已读入的图片复制一份
pKernel = cvCreateStructuringElementEx(15,15,8,8,CV_SHAPE_ELLIPSE,NULL); //创建结构元素
cvErode(pImgOpen,pImgOpen,pKernel,1); //先腐蚀
cvDilate(pImgOpen,pImgOpen,pKernel,1); //后膨胀
cvNamedWindow("open",1);
cvShowImage("open",pImgOpen);
cvWaitKey(0); //等待按键
cvReleaseImage(&pImgOpen); //释放变量
cvDestroyWindow("open"); //销毁窗口
//IplImage* src = cvLoadImage("120.jpg",ISCOLOR);
//IplImage* pImage = NULL;
//IplImage* pImgCanny = NULL; //用于灰度图像Canny变换
//IplImage* pImg8u = NULL; // 用于图像格式转换
//IplImage* pImg8uSmooth = NULL; // 用于存储平滑后的图像
//pImage = cvCloneImage(src); //拷贝源图像
//pImg8u = cvCreateImage(cvGetSize(pImage),IPL_DEPTH_8U,1);
//pImgCanny = cvCreateImage(cvGetSize(pImage),IPL_DEPTH_8U,1);
//pImg8uSmooth = cvCreateImage(cvGetSize(pImage),IPL_DEPTH_8U,1);
//
//cvCvtColor(pImage,pImg8u,CV_RGB2GRAY); //彩色图像转灰度图像
//cvSmooth(pImg8u,pImg8uSmooth,CV_GAUSSIAN,3,0,0); //高斯滤波
//cvCanny(pImg8uSmooth,pImgCanny,100,200,3);
//cvConvertScaleAbs(pImgCanny,pImg8u,1,0); //重新转换成灰度图像,用于显示
//cvNamedWindow("Canny Image",1);
//cvShowImage("Canny Image",pImg8u);
//
//cvWaitKey(0);
//cvReleaseImage(&pImage); //释放变量,销毁窗口
//cvReleaseImage(&pImgCanny);
//cvReleaseImage(&pImg8u);
//cvReleaseImage(&pImg8uSmooth);
//
//
//cvDestroyWindow("Canny Image");
return 0;
}