OpenCV-图像输入输出(平滑处理)

来源:互联网 发布:seo技术培训seo8 编辑:程序博客网 时间:2024/05/17 04:27

//动态链接库中要有 highgui.lib

//图像输入与输出

//

#include "highgui.h"


int main(int argc,char** argv)
{
const char * str;

         str = "FaceBook.jpg"; //工程目录下存在的文件


IplImage* img = cvLoadImage(str,5);//定义一个图片数据类型对象,并将图片信息载入

cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE );//创建一个窗口来显示片,

                  //CV_WINDOW_AUTOSIZE,窗口随图片大小变化 0 则不变化

cvShowImage( "Example1", img );//显示图片
cvWaitKey(0);//使程序暂停
         cvReleaseImage(&img);//释放为图片文件所分配的内存
cvDestroyWindow( "Example1" );//释放显示图片窗口

}


//图像平滑处理

//链接库中要有cxcore.lib

#include "cv.h"
#include "highgui.h"
#include "cxcore.h"


int main(int argc,char** argv)
{     

         //如上例,进行图像载入
const char * str;
         str = "earth.jpg"; 
IplImage* image = cvLoadImage(str,5);

          
//创建两个窗口来显示输入和输出图片
cvNamedWindow( "Example4-in", CV_WINDOW_AUTOSIZE );
cvNamedWindow( "Example4-out", CV_WINDOW_AUTOSIZE );


         //显示输入图片
cvShowImage( "Example4-in", image );


//创建一个新的图片对象来保存平滑处理后的图片
//
IplImage* out = cvCreateImage(


           cvGetSize( image ),//当前图片大小
   IPL_DEPTH_8U,//指图像数据是8位无符号整型,也就是用2的8次方来表示一个像素,就是传说中的256色
  3//通道数

);
//做平滑处理
//
cvSmooth( image, out, CV_GAUSSIAN, 3, 3 );


//显示平滑处理后的图片
//
cvShowImage( "Example4-out", out );


         //清除图片占用的内存
 //
         cvReleaseImage( &out );
         cvReleaseImage(&image);//释放为图片文件所分配的内存
         
cvWaitKey(0);//使程序暂停
cvDestroyWindow( "Example4-in" );//销毁显示窗口
cvDestroyWindow( "Example4-out" );
}

原创粉丝点击