opencv图像处理9-图像金字塔
生活随笔
收集整理的這篇文章主要介紹了
opencv图像处理9-图像金字塔
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
圖像金字塔在分割和匹配方面有重要用途,其中在sift匹配中是重要的一環(huán)~~
先看效果:
PyrDown
圖像的下采樣void cvPyrDown( const CvArr* src, CvArr* dst, int filter=CV_GAUSSIAN_5x5 );
src
輸入圖像.
dst
輸出圖像, 寬度和高度應(yīng)是輸入圖像的一半 ,傳入前必須已經(jīng)完成初始化
filter
卷積濾波器的類型,目前僅支持 CV_GAUSSIAN_5x5
函數(shù) cvPyrDown 使用 Gaussian 金字塔分解對(duì)輸入圖像向下采樣。首先它對(duì)輸入圖像用指定濾波器進(jìn)行卷積,然后通過(guò)拒絕偶數(shù)的行與列來(lái)下采樣圖像。
PyrUp
圖像的上采樣
void cvPyrUp( const CvArr* src, CvArr* dst, int filter=CV_GAUSSIAN_5x5 );
src
輸入圖像.
dst
輸出圖像, 寬度和高度應(yīng)是輸入圖像的2倍
filter
卷積濾波器的類型,目前僅支持 CV_GAUSSIAN_5x5
函數(shù) cvPyrUp 使用Gaussian 金字塔分解對(duì)輸入圖像向上采樣。首先通過(guò)在圖像中插入值為 0的 偶數(shù)行和偶數(shù)列,然后對(duì)得到的圖像用指定的濾波器進(jìn)行高斯卷積,其中濾波器乘以4做插值。所以輸出圖像是輸入圖像的 4 倍大小。
關(guān)于卷積的實(shí)現(xiàn)請(qǐng)看另一篇博客:http://blog.csdn.net/renshengrumenglibing/article/details/6940120
#include "highgui.h" ? #include"cv.h" ?//superdont //blog.csdn.net/superdont int main() ? { ?IplImage * src = cvLoadImage("1.bmp"); ?IplImage * result1 = cvCreateImage( ?cvSize( src->width/2, src->height/2 ), ?src->depth, ?src->nChannels ?); ?cvPyrDown( src, result1,CV_GAUSSIAN_5x5); ?IplImage * result2 = cvCreateImage( ?cvSize( src->width*2, src->height*2 ), ?src->depth, ?src->nChannels ?); ?cvPyrUp( src, result2,CV_GAUSSIAN_5x5); ?cvNamedWindow( "source" ? , CV_WINDOW_AUTOSIZE);cvNamedWindow( ?"PyrDown" ,CV_WINDOW_AUTOSIZE); ?cvNamedWindow( ?"PyrUp" ? ,CV_WINDOW_AUTOSIZE); ?cvShowImage("source",src);cvShowImage( "PyrDown", result1); ?cvShowImage( "PyrUp",result2); ?cvWaitKey(0); ?cvReleaseImage(&src);?cvReleaseImage(&result1); ?cvReleaseImage(&result2); ?cvDestroyAllWindows(); ?return 0; ? } ?轉(zhuǎn)載于:https://www.cnblogs.com/libing64/archive/2011/11/06/2878750.html
總結(jié)
以上是生活随笔為你收集整理的opencv图像处理9-图像金字塔的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Android 应用软件开发(九)控件续
- 下一篇: sharepoint 2010 使用Wi