91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

在openCV平臺下的小波變換函數,可以進行圖像的小波分解和重構!

資源截圖

代碼片段和文件信息

//?DWT.cpp?:?定義控制臺應用程序的入口點。
//

#include?“stdafx.h“
#include?“cv.h“
#include?“highgui.h“

//?二維離散小波變換(單通道浮點圖像)
void?DWT(IplImage?*pImage?int?nlayer)
{
?//?執行條件
?if?(pImage)
?{
??if?(pImage->nChannels?==?1?&&
???pImage->depth?==?IPL_DEPTH_32F?&&
???((pImage->width?>>?nlayer)?<yer)?==?pImage->width?&&
???((pImage->height?>>?nlayer)?<yer)?==?pImage->height)
??{
???int?????i?x?y?n;
???float???fValue???=?0;
???float???fRadius??=?sqrt(2.0f);
???int?????nWidth???=?pImage->width;
???int?????nHeight??=?pImage->height;
???int?????nHalfW???=?nWidth?/?2;
???int?????nHalfH???=?nHeight?/?2;
???float?**pData????=?new?float*[pImage->height];
???float??*pRow?????=?new?float[pImage->width];
???float??*pColumn??=?new?float[pImage->height];
???for?(i?=?0;?i?height;?i++)
???{
????pData[i]?=?(float*)?(pImage->imageData?+?pImage->widthStep?*?i);
???}
???//?多層小波變換
???for?(n?=?0;?n?yer;?n++?nWidth?/=?2?nHeight?/=?2?nHalfW?/=?2?nHalfH?/=?2)
???{
????//?水平變換
????for?(y?=?0;?y?????{
?????//?奇偶分離
?????memcpy(pRow?pData[y]?sizeof(float)?*?nWidth);
?????for?(i?=?0;?i??????{
??????x?=?i?*?2;
??????pData[y][i]?=?pRow[x];
??????pData[y][nHalfW?+?i]?=?pRow[x?+?1];
?????}
?????//?提升小波變換
?????for?(i?=?0;?i??????{
??????fValue?=?(pData[y][i]?+?pData[y][i?+?1])?/?2;
??????pData[y][nHalfW?+?i]?-=?fValue;
?????}
?????fValue?=?(pData[y][nHalfW?-?1]?+?pData[y][nHalfW?-?2])?/?2;
?????pData[y][nWidth?-?1]?-=?fValue;
?????fValue?=?(pData[y][nHalfW]?+?pData[y][nHalfW?+?1])?/?4;
?????pData[y][0]?+=?fValue;
?????for?(i?=?1;?i??????{
??????fValue?=?(pData[y][nHalfW?+?i]?+?pData[y][nHalfW?+?i?-?1])?/?4;
??????pData[y][i]?+=?fValue;
?????}
?????//?頻帶系數
?????for?(i?=?0;?i??????{
??????pData[y][i]?*=?fRadius;
??????pData[y][nHalfW?+?i]?/=?fRadius;
?????}
????}
????//?垂直變換
????for?(x?=?0;?x?????{
?????//?奇偶分離
?????for?(i?=?0;?i??????{
??????y?=?i?*?2;
??????pColumn[i]?=?pData[y][x];
??????pColumn[nHalfH?+?i]?=?pData[y?+?1][x];
?????}
?????for?(i?=?0;?i??????{
??????pData[i][x]?=?pColumn[i];
?????}
?????//?提升小波變換
?????for?(i?=?0;?i??????{
??????fValue?=?(pData[i][x]?+?pData[i?+?1][x])?/?2;
??????pData[nHalfH?+?i][x]?-=?fValue;
?????}
?????fValue?=?(pData[nHalfH?-?1][x]?+?pData[nHalfH?-?2][x])?/?2;
?????pData[nHeight?-?1][x]?-=?fValue;
?????fValue?=?(pData[nHalfH][x]?+?pData[nHalfH?+?1][x])?/?4;
?????pData[0][x]?+=?fValue;
?????for?(i?=?1;?i??????{
??????fValue?=?(pData[nHalfH?+?i][x]?+?pData[nHalfH?+?i?-?1][x])?/?4;
??????pData[i][x]?+=?fValue;
?????}
?????//?頻帶系數
?????for?(i?=?0;?i??????{
??????pData[i][x]?*=?fRadius;
??????pData[nHalfH?+?i][x]?/=?fRadius;
?????}
????}
???}
???delete[]?pData;
???delete[]?pRow;
???delete[]?pColumn;
??}
?}
}


void?main(int?argc?char*?argv[])
{
?//?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????353280??2009-05-19?10:42??wavelet\Debug\vc60.idb

?????文件?????561152??2009-05-19?10:42??wavelet\Debug\vc60.pdb

?????文件?????200766??2009-05-19?10:42??wavelet\Debug\wavelet.exe

?????文件?????315172??2009-05-19?10:42??wavelet\Debug\wavelet.ilk

?????文件??????50400??2009-05-19?10:42??wavelet\Debug\wavelet.obj

?????文件????8356956??2009-05-18?16:40??wavelet\Debug\wavelet.pch

?????文件?????492544??2009-05-19?10:42??wavelet\Debug\wavelet.pdb

?????文件?????263224??2009-05-14?14:48??wavelet\lena.BMP

?????文件???????4817??2009-05-19?10:42??wavelet\wavelet.cpp

?????文件???????7782??2009-05-18?16:29??wavelet\wavelet.cpp.bak

?????文件???????3471??2009-05-18?16:47??wavelet\wavelet.dsp

?????文件????????520??2009-05-18?16:47??wavelet\wavelet.dsw

?????文件??????41984??2009-05-19?10:42??wavelet\wavelet.ncb

?????文件??????50688??2009-05-19?10:42??wavelet\wavelet.opt

?????文件???????1319??2009-05-19?10:42??wavelet\wavelet.plg

?????目錄??????????0??2009-05-19?10:42??wavelet\Debug

?????目錄??????????0??2009-05-19?10:42??wavelet

-----------?---------??----------?-----??----

?????????????10704075????????????????????17


評論

共有 條評論