You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MATLAB实现DCP去雾算法:PSNR与SSIM偏低问题求助及解决

复现DCP去雾算法时PSNR/SSIM指标异常的解决办法

我是MATLAB图像处理领域的新手,最近在复现He等人的《Single Image Haze Removal Using Dark Channel Prior》(DCP)论文。去雾后的图像视觉清晰度表现正常,但PSNR和SSIM指标却差得离谱:对比其他基准实验的16.62(PSNR)和0.8179(SSIM),我的实现仅能达到7.07和0.002。

折腾后终于定位到问题——图像类型转换时需用im2uint8()替代uint8(),修正后指标恢复正常。

修正后的完整实现代码如下:

image = imread(imagePath);

% dehaze
patch_size = 15;
omega = 0.95;
r = 60;
eps = 0.001;
tx = 0.1;
haze_free = dcp_guidedfilter(image, patch_size, omega, r, eps, tx, true);

% measure quality
haze_free = im2uint8(haze_free); % 关键修正:用im2uint8替代uint8
[peaksnr, snr] = psnr(haze_free, image);
[ssimval,ssimmap] = ssim(haze_free, image);

内容的提问来源于stack exchange,提问作者Hai Pham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 17:09:46