图像质量对比感悟
具体任务:
在本次任务中,我需要对比两张1080p的yuv图片的清晰度,那么如何判断呢?主要是进行了主观判断和客观psnr的判断。
psnr解释:
定义: PSNR 用于衡量 两幅图像之间的差异(通常是原始图像和压缩/处理后的图像),其计算基于 像素级均方误差(MSE)。
psnr的使用要求:
要求 说明 相同分辨率 两幅图像的宽度和高度必须完全一致,否则无法逐像素对比。 相同色彩格式 如 RGB、YUV 等格式需一致,避免因色彩空间转换引入误差。 无几何位移 图像内容需严格对齐(如偏移 1 像素会导致 PSNR 大幅下降)。 无格式转换 计算前避免 JPEG 压缩、缩放等操作,否则会污染原始误差。 psnr的应用场景:
场景 用途 局限性 图像/视频压缩评估 对比压缩前后质量(如 JPEG vs PNG)。 无法感知人眼敏感度(如纹理、边缘)。 超分辨率重建 评估上采样算法(如 1080p → 4K)的保真度。 高频细节损失可能被低估。 去噪/修复算法 量化去噪后图像与干净参考图的差异。 对结构性失真(如模糊)不敏感。 传感器校准 检查摄像头采集图像与标准图的偏差。 需严格对齐光照和色彩条件。 不适用范围:
问题 原因 替代方案 图像存在位移 即使内容相同,1 像素偏移也会导致 PSNR 骤降。 先对齐图像(如 SIFT 特征匹配)。 人眼感知差异 PSNR 高的图像可能视觉质量差(如过度平滑)。 使用 SSIM、VMAF 等感知指标。 色彩空间不一致 YUV 和 RGB 计算的 PSNR 差异大。 统一色彩空间(如全部转为 YUV)。 动态范围不同 HDR 和 SDR 图像直接对比无意义。 使用 HDR-VDP-2 等专用指标。
任务分析:
两张yuv的图片不方便直接对比,因此用mmfpeg转换成.png图片再用图片对比软件FSViewer.exe进行对比(主观)。主观对比后发现差别不大。然后将这两张图片进行上采样到4k,再与原始的4k数据进行psnr分析。
工具介绍:
一、FSViewer.exe
这个软件非常好用,便于两张图片的比较
可以自由将图片放大和缩小,效果展示如下,还是很清晰的:
二、ffmpeg
这个不是一个软件,而是类似一个工具包,可以实现图片格式的转换,裁切,psnr等和图像数据相关的操作。使用方法如下:
1、下载
2、使用
打开文件夹,这样,我们就可以得到如下,而且我们需要把这个路径放到环节变量里面,让他可以在任意路径下使用。
接着我们就可以在cmd里面去输入指令达到我们想要的效果。
例如我想进行一个像素的下移,下移一个像素(指令可以用ai去搜索):
ffmpeg -i camera_raw_1080p_2x_to_4k.png -vf "pad=3840:2161:0:1:black, crop=3840:2160:0:1" output_shifted.png
结果:
生成了我们想要的图片:
如果想要进行其他图像的操作,均可以用ai搜索一下对应的指令进行操作即可。