opencv里的一些函数,关于小波变换处理图像

下面这段小波变换的代码看不同,求大神解决,主要地方有两个,第一个是cvConvertScale(pSrc, pWavelet,1,-128);这个函数最后一个为什么设置为-128,是什么意思。第二点问题是cvCopy(pWavelet, pImage, NULL);函数中null又是什么意思,为什么要这样设置。谢谢

if (pWavelet) {
// 小波图象赋值

cvSetImageROI(pWavelet, cvRect(0, 0, pSrc->width, pSrc->height));
cvConvertScale(pSrc, pWavelet,1,-128);
cvResetImageROI(pWavelet);
// 彩色图像小波变换

IplImage *pImage = cvCreateImage(cvGetSize(pWavelet), IPL_DEPTH_32F, 1);
if (pImage) {
for (int i = 1; i <= pWavelet->nChannels; i++) {
cvSetImageCOI(pWavelet, i);
cvCopy(pWavelet, pImage, NULL);
// 二维离散小波变换

DWT(pImage, nLayer);
// 二维离散小波恢复

//IDWT(pImage, nLayer);

cvCopy(pImage, pWavelet, NULL);
}
cvSetImageCOI(pWavelet, 0);
cvReleaseImage(&pImage);
}

查看全部
xululu0401
xululu0401
2014/09/24 06:41
  • c++
  • opencv
  • 点赞
  • 收藏
  • 回答
    私信

0个回复