当前位置: 首页 > news >正文

图像质量对比感悟

具体任务:

在本次任务中,我需要对比两张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搜索一下对应的指令进行操作即可。

http://www.lqws.cn/news/527545.html

相关文章:

  • [论文阅读] 人工智能 + 软件工程 | AI 与敏捷开发的破局之路:从挫败到成功的工作坊纪实
  • 推荐一个前端基于vue3.x,vite7.x,后端基于springboot3.4.x的完全开源的前后端分离的中后台管理系统基础项目(纯净版)
  • HTML 按钮单击事件示例
  • 2-深度学习挖短线股-4-预测数据计算
  • 前端项目3-01:登录页面
  • 实测推荐:一款能看4K直播的万能播放器,支持多端同步
  • 全面比较帮你确定何时选择SLM而非LLM
  • C# .NET Framework 中的高效 MQTT 消息传递
  • React HOC(高阶组件-补充篇)
  • Django 零基础起步:开发你的网站第一步
  • IDE如何快速切换JLINK版本
  • Redis 持久化
  • Axure版AntDesign 元件库-免费版
  • 广州华锐互动:技术与创意双驱动的 VR 先锋​
  • Python 中的 random 模块
  • 49-有效的字母异位词
  • 设计模式精讲 Day 14:命令模式(Command Pattern)
  • Web基础关键_001_HTML(一)
  • docker环境下java参数传递与获取
  • FANUC机器人教程:用户坐标系标定及其使用方法
  • 学习永无止境
  • 程序的更新总结
  • 简易服务器(TCP)
  • 川翔云电脑全新上线:三维行业高效云端算力新选择
  • Kotlin环境搭建与基础语法入门
  • 鸿蒙边缘智能计算架构实战:多线程图像采集与高可靠缓冲设计
  • MIT 6.S081—环境配置和初步学习day01(VMware和Ubuntu安装)
  • Go 语言中的接口
  • 黑马ReactDay02
  • 《告别一换就崩:前端游戏物理引擎适配层设计哲学》