【问题标题】:Wiener filtering维纳滤波
【发布时间】:2011-07-02 17:53:39
【问题描述】:

我想编写一个维纳滤波器来改善图像。我不想使用傅立叶,我知道有一个基于中值和方差的算法,但我找不到它。你们能帮帮我吗? http://en.wikipedia.org/wiki/Wiener_filter

【问题讨论】:

    标签: image image-processing filter


    【解决方案1】:

    I think this is what you are looking for. 此代码由 Ray Juang 编写。

    使用上述代码的示例

    void main(int argc, char *argv[])
        if (argc <= 1) {
                printf("Usage: %s <image>\n", argv[0]);
                return;
            }
    
        IplImage *tmp = cvLoadImage(argv[1]);
        IplImage *tmp2 = cvCreateImage(cvSize(tmp->width, tmp->height), IPL_DEPTH_8U, 1);
    
        cvCvtColor(tmp, tmp2, CV_RGB2GRAY);
    
        cvNamedWindow("Before");
        cvShowImage("Before", tmp);
    
        cvWiener2(tmp2, tmp2, 3,3);
        cvNamedWindow("After");
    
        cvShowImage("After", tmp2);
        //cvSaveImage("C:/temp/result.png", tmp2);
        cvWaitKey(-1);
    
    
        cvReleaseImage(&tmp);
        cvReleaseImage(&tmp2);
    }
    

    【讨论】:

    猜你喜欢
    • 2014-03-22
    • 1970-01-01
    • 2016-05-13
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    • 2014-12-06
    • 2016-06-28
    • 1970-01-01
    相关资源
    最近更新 更多