盲目去卷积和盲目去模糊的例子

本文介绍了一种图像处理技术——盲目去模糊,通过计算PSF实现图像清晰化。使用C++编程并结合OpenCV库实现了从加载灰度图像到进行盲目去卷积及盲目去模糊的过程,并展示了最终处理结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

盲目去卷积和盲目去模糊,就是计算psf或滤波器核;

稍微有点效果

部分代码:

#include "common.h"
#include "ImageDeblur.h"
#include "helper.h"

int main(int argc, char *argv[])
{
    std::string filename = argv[1];
    cv::Mat img = cv::imread(filename, cv::IMREAD_GRAYSCALE);
    cv::imshow("src", img);
    // ImageDeblur
    ImageDeblur ID(img);
    cv::Mat latent;
    cv::Mat kernel = cv::Mat::zeros(55,55, CV_32F);
    struct Opts opts;
    Helper::setOpts(opts,1,5,1.0,20,55,0,4e-4,4e-4);
    ID.blind_deconv(img, opts, kernel);
//    float SUM = cv::sum(kernel).val[0];
//    kernel = kernel.mul(1.0/SUM * 255 * 255);
//    Helper::printMat(kernel);
//    kernel.convertTo(kernel, CV_8U);
//    cv::imshow("kernel", kernel);
    ID.blind_deblur(img, kernel, 0.001, latent);
    latent.convertTo(latent, CV_8U);
    cv::imshow("blur", img);
    cv::imshow("latent", latent);
    cv::waitKey();
    return 0;
}
 

代码下载地址https://download.youkuaiyun.com/download/cyf15238622067/11087888

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dwyane05

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值