opencv从入门到精通(2)--简单图像变换

1.图像滤波

这里有到两个函数cvCreateImage和 cvSmooth( image, out, CV_GAUSSIAN, 5,5,0,0 )。
cvCreateImage(cvGetSize(image),IPL_DEPTH_8U,3)用于创建
指定大小的图像,第一个参数是尺寸,第二个参数是数据类型,
第三个参数是通道数。cvSmooth( image, out, CV_GAUSSIAN, 5,5,0,0 )
用于图像滤波,第一个参数是输入图像;第二个参数是输出图像;
第三个参数是平滑方法;5,5表示5*5邻域;
第六个参数是高斯参数的 Gaussian sigma (标准差)。


#include <stdio.h>
#include <fstream>
#include<iostream>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  
#include "cv.h"              
    using namespace cv;
    using namespace std;

int main( )
{
  IplImage* image = cvLoadImage( "a1.ppm" );//输入图像
    cvNamedWindow( "Example4-in", CV_WINDOW_AUTOSIZE );//创建显示输入图像的窗口
    cvNamedWindow( "Example4-out", CV_WINDOW_AUTOSIZE );//创建显示输出图像的窗口
    cvShowImage( "Example4-in", image );//显示输入图像
    IplImage* out = cvCreateImage(cvGetSize(image),IPL_DEPTH_8U,3);//创建和image大小相同的图像
    // 平滑
    cvSmooth( image, out, CV_GAUSSIAN, 5,5,0,0 );
    cvSmooth( out, out, CV_GAUSSIAN, 5, 5,0,0);
    cvShowImage( "Example4-out", out );
    cvReleaseImage( &out );
    cvWaitKey( 0 ); 
    cvDestroyWindow("Example4-in" );
    cvDestroyWindow("Example4-out" );
    cvReleaseImage( &image );
}

封装函数

1.图像缩放
cvPyrDown( in, out )使用Gaussian金字塔分解对输入图像向下采样。第一个参数是输入图像,第二个参数是输出图像,长宽为输入图像的一半。


#include <stdio.h>
#include <fstream>
#include<iostream>  
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  
#include "cv.h"         
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值