#include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char* argv[])
{
IplImage *img= cvLoadImage("D://123//5.jpg");//读取图片
cvNamedWindow("原图",CV_WINDOW_AUTOSIZE);
cvNamedWindow("腐蚀",CV_WINDOW_AUTOSIZE);
cvNamedWindow("腐蚀以后膨胀",CV_WINDOW_AUTOSIZE);
cvShowImage("原图",img); //在Example1显示图片
// cvCopy(img,temp);
IplImage* temp=cvCreateImage( cvGetSize(img), IPL_DEPTH_8U,3 );
cvErode(img,temp,0,1); //腐蚀
cvShowImage("腐蚀",temp);
cvDilate(img,temp,0,1); //膨胀
cvShowImage("腐蚀以后膨胀",temp);
cvWaitKey(0); //暂停用于显示图片
cvReleaseImage(&img); //释放img所指向的内存空间并且
cvDestroyWindow("原图");
cvDestroyWindow("腐蚀");
cvDestroyWindow("腐蚀后膨胀");
return 0;
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char* argv[])
{
IplImage *img= cvLoadImage("D://123//5.jpg");//读取图片
cvNamedWindow("原图",CV_WINDOW_AUTOSIZE);
cvNamedWindow("腐蚀",CV_WINDOW_AUTOSIZE);
cvNamedWindow("腐蚀以后膨胀",CV_WINDOW_AUTOSIZE);
cvShowImage("原图",img); //在Example1显示图片
// cvCopy(img,temp);
IplImage* temp=cvCreateImage( cvGetSize(img), IPL_DEPTH_8U,3 );
cvErode(img,temp,0,1); //腐蚀
cvShowImage("腐蚀",temp);
cvDilate(img,temp,0,1); //膨胀
cvShowImage("腐蚀以后膨胀",temp);
cvWaitKey(0); //暂停用于显示图片
cvReleaseImage(&img); //释放img所指向的内存空间并且
cvDestroyWindow("原图");
cvDestroyWindow("腐蚀");
cvDestroyWindow("腐蚀后膨胀");
return 0;
}
注意:上面的腐蚀是在原图上腐蚀,膨胀是在腐蚀的图像上膨胀,所以,我想看看原图直接膨胀怎么样;程序如下::
#include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char* argv[])
{
IplImage *img= cvLoadImage("D://123//5.jpg");//读取图片
cvNamedWindow("原图",CV_WINDOW_AUTOSIZE);
// cvNamedWindow("腐蚀",CV_WINDOW_AUTOSIZE);
cvNamedWindow("膨胀",CV_WINDOW_AUTOSIZE);
cvShowImage("原图",img); //在Example1显示图片
// cvCopy(img,temp);
IplImage* temp=cvCreateImage( cvGetSize(img), IPL_DEPTH_8U,3 );
// cvErode(img,temp,0,1); //腐蚀
// cvShowImage("腐蚀",temp);
cvDilate(img,temp,0,1); //膨胀
cvShowImage("膨胀",temp);
cvWaitKey(0); //暂停用于显示图片
cvReleaseImage(&img); //释放img所指向的内存空间并且
cvDestroyWindow("原图");
// cvDestroyWindow("腐蚀");
cvDestroyWindow("膨胀");
return 0;
}
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char* argv[])
{
IplImage *img= cvLoadImage("D://123//5.jpg");//读取图片
cvNamedWindow("原图",CV_WINDOW_AUTOSIZE);
// cvNamedWindow("腐蚀",CV_WINDOW_AUTOSIZE);
cvNamedWindow("膨胀",CV_WINDOW_AUTOSIZE);
cvShowImage("原图",img); //在Example1显示图片
// cvCopy(img,temp);
IplImage* temp=cvCreateImage( cvGetSize(img), IPL_DEPTH_8U,3 );
// cvErode(img,temp,0,1); //腐蚀
// cvShowImage("腐蚀",temp);
cvDilate(img,temp,0,1); //膨胀
cvShowImage("膨胀",temp);
cvWaitKey(0); //暂停用于显示图片
cvReleaseImage(&img); //释放img所指向的内存空间并且
cvDestroyWindow("原图");
// cvDestroyWindow("腐蚀");
cvDestroyWindow("膨胀");
return 0;
}