#include<cv.h>
#include<highgui.h>
#include<iostream>
using namespace cv;
/***************************************************
** 图像平滑处理 *************************
******************************************************/
///////////////////Blur 平滑处理 //////////////////////
void blur(IplImage* image)
{
IplImage* n_img = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 3);
cvNamedWindow("Blur", 0);
cvSmooth(image, n_img,CV_BLUR,3,3);
cvShowImage("Blur", n_img);
cvReleaseImage(&n_img);
//cvWaitKey(0);
cvDestroyWindow("Blur");
}
///////////////////Blur-No 平滑处理 //////////////////////
void blur_no(IplImage* image)
{
IplImage* n_img = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 3);
cvNamedWindow("Blur—No", 0);
cvSmooth(image, n_img,CV_BLUR_NO_SCALE,3,3);
cvShowImage("Blur-No", n_img);
cvReleaseImage(&n_img);
cvWaitKey(0);
cvDestroyWindow("Blur-No");
}
///////////////////Gaussian 平滑处理 //////////////////////
void gaussian(IplImage* image)
{
IplImage* n_img = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 3);
cvNamedWindow("GAUSSIAN", 0);
cvSmooth(image, n_img,CV_GAUSSIAN,3,3);
cvShowImage("GAUSSIAN", n_img);
cvReleaseImage(&n_img);
//cvWaitKey(0);
cvDestroyWindow("GAUSSIAN");
}
///////////////////Median 平滑处理 //////////////////////
void median(IplImage* image)
{
IplImage* n_img = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 3);
cvNamedWindow("Median", 0);
cvSmooth(image, n_img,CV_MEDIAN,3,3);
cvShowImage("Median", n_img);
cvReleaseImage(&n_img);
//cvWaitKey(0);
cvDestroyWindow("Median");
}
///////////////////bilateral 平滑处理 //////////////////////
void bilate(IplImage* image)
{
IplImage* n_img = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 3);
cvNamedWindow("BILATE", 0);
cvSmooth(image, n_img,CV_BILATERAL,3,3);
cvShowImage("BILATE", n_img);
cvReleaseImage(&n_img);
cvWaitKey(0);
cvDestroyWindow("BILATE");
}
int main(int argc, char* argv[])
{
char* filename = "G:/Learning/Machine_version/Photo/5.jpg";
IplImage* img = cvLoadImage(filename);
/*IplImage* smoth = cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,3);
cvNamedWindow("Smooth");
cvSmooth(img, smoth, CV_GAUSSIAN,3,3);
cvShowImage("Smooth", smoth);
cvWaitKey(0);
cvReleaseImage(&img);
cvReleaseImage(&smoth);
cvDestroyWindow("Smooth");*/
//blur(img);
//blur_no(img);
gaussian(img);
median(img);
system("pause");
return 0;
}
图像平滑处理
最新推荐文章于 2023-03-13 15:19:03 发布