opencvsharp 为什么降低图像的分辨率_【干货】图像质量与图像分辨率的关系

2023-10-26

在谈论图像质量时,我们都会提到分辨率。 分辨率当然是指以像素(图像元素)为单位测量的图像的大小。 当您将图像分辨率的宽度和高度相乘时,它将给出图像的总像素数。 而质量是指图像中存储在像素中的细节内容,如颜色、阴影、对比度等。 有些说法是,更高的分辨率可以提高图像的质量。 意思就是说,如果你有一张低分辨率的图片,增加它的分辨率也会提高质量。 这样真的能提高图像的质量吗?

这是实际分辨率为1280x960像素的原始图像

这里有一张分辨率为1280x960像素的照片。 原始图像与放大到646%的 图像一起显示。

原始分辨率图像显示在左边,放大的在右边

图像放大时,仍然可以看到场景的细节。 虽然随着图像的放大,图像变得越来越像素化和模糊,但质量看起来还不错,即便不是很好。

如果我们提高图像的分辨率,图像细节的质量会更好吗?

现在,原始图像将被放大到3800 x 2850像素的分辨率。 我们使用了一个300ppi 的两次立方插值算法。 再一次将图像放大646% 显示。

原始分辨率图像显示在左边,放大的在右边

我们看到,通过增加分辨率,图像质量本身没有什么明显改善。 虽然在无缩放时最大分辨率下看起来还不错,但是当你开始放大图像的时候,图像的质量实际上会受到影响。 它看起来更模糊。 颜色看起来也更加淡了,场景看起来不那么协调。 事实上,低分辨率拍摄到的图像在缩放到高分辨率时不会提高质量。

那么,图像分辨率不能决定图像质量吗?

图像的分辨率和质量取决于一些因素。 为了更好地理解这一点,我们要先了解,电子传感器(单反和无反相机)捕捉到的数字图像使用了所谓的光栅格式。 光栅格式使用像素(数字成像)或点(打印数字图像时)创建图像。 光栅文件被创建并存储在可以被照片编辑软件修改的存储介质上。 之后我们可以压缩光栅文件(RAW格式)以减小文件大小(JPEG格式) ,但需要在画面细节上进行折衷。

一旦图像通过光栅格式获得,它就将所有细节存储在图像的像素里。 因此,你事实上是不能通过提到更高的分辨率来提高图像的质量。 相反,通过软件插值来提供分辨率,其实是复制相邻或最近的像素,你实际上添加的是已经存储在原始图像像素中的已有信息。 例如,如果在原始图像中捕获的某个像素的 RGB 值为“39,48,43” ,那么当图像被放大时,它仍然是相同的值。 没有任何新的信息可以添加(如今通过AI人工智能技术可以动态添加一些信息,但技术还不成熟和高效,暂不在本文讨论范围)。

Photoshop放大图片分辨率的原理示意图

这就是为什么专业摄影师和老司机们更喜欢使用高分辨率图像的原因,因为他们有更多的像素来存储更多的信息。 更多的信息意味着更多的细节,因此比低分辨率的图像质量要好得多。 如果这是商业化摄影,拥有最高质量的图像是很重要的。 如果一个摄影师用800万像素而不是3200万像素拍摄这张照片,那么这张照片在印刷时就不那么好看了,但是在网络上可能不会有什么不同。 这是因为大多数网页内容,像图片一样,没有以100%的大小显示,所以不会有明显的差别。 当打印时,质量是非常明显的。 这就是为什么出版商在影像分辨率和质量方面会给摄影师一定的标准。

图像质量的衡量

分辨率由像素与图像大小的比例决定。 这是以 PPI (每英寸像素)来衡量的。 高分辨率的图像通常每平方英寸有更多的像素。 对角线像素的数量与穿过图像的对角线的长度成比例。 PPI 越高,图像分辨率越高,这也意味着图像质量越高。

点间距(Dot Pitch)是用来测定图像清晰度的一种方法。 这是使用毫米为单位,数值越小意味着越清晰的图像。 当你有更近的像素点间距,图像看起来更清晰。 点间距是从一个像素的中心到下一个像素的距离。 一般情况下,点间距更小的图像质量看上去更好。 例如,1024 x 768分辨率的点距为0.297。 3840 x 2400分辨率的点距为0.125。 后者将比前者更清晰,因此有更好的图像质量。(这里我们可以参考手机屏幕的像素密度,类似的概念)

点间距(Dot Pitch)

压缩是衡量质量的另一个因素。 原始光栅格式的图像称为 RAW 文件。 Raw 文件包含最高质量的图像,所以一些摄影师只使用所谓的无损格式来保持图像质量。 这方面的一个例子是 TIFF 文件格式,它也占用了磁盘上最大的存储空间。 Jpeg 格式,基于 DCT (离散余弦变换)算法,允许进一步压缩图像(有损数据压缩) ,以减少文件大小。 然而,通过压缩图像, 其质量会损失。 图像压缩的次数越多,保存的质量就越差。 在互联网的早期,JPEG 在网页内容上变得流行起来。 由于文件尺寸较小,它允许网站在带宽有限的情况下加载内容更快些。

更多的压缩会减少文件大小,但是会得到质量较低的图像

决定质量的是设备

这可能是大多数人都知道的。 与普通的智能手机相机相比,佳能5d Mark IV 相机在默认情况下肯定能够捕捉到更好的图像。 相机的镜头,传感器大小,图像分辨率,固件功能,IS系统和图像信号处理器等规格特性决定了质量。 传感器的大小很重要,摄影圈内有句“底大一级压死人”就是说的它,因为它负责收集光线来创建图像。 由于智能手机的传感器尺寸更小,相比同等像素数码单反相机的质量就没那么好了。

必须要有好的光线

在影像质量方面,光线可能经常被忽略,但它和相机一样重要。 你需要光线来创建图像。 伟大摄影师所拍摄的质量最好的照片有一个共同点,那就是良好的光线。 不管相机有多高端,如果光线不好,你不会得到高质量的图像。 光线不好的图像编辑起来也很痛苦,因为某些细节无法从阴影和颗粒状区域恢复。 缺乏光线也会产生模糊的图像,不够清晰。 在光线不好的情况下,颜色也会受到影响,从而降低图像的整体质量。 故意在光线不好的情况下拍摄一张照片可能会被解释为艺术,但这更多的是出于创造性的目的,而不是最佳实践。

显示设备也很重要

有一台好的显示器,对于还原图像原貌,查看最高品质的图像也是很重要的。 标准 VGA 显示器与4 k 显示器相比就是天壤之别。 当你试图在 VGA 显示器上查看你的32mp 图像时,你不会得到很好的质量。 这也表明,即使是高分辨率的图像,如果你的显示效果很差,也可能会看到很差的质量。 当然,一个100万像素的图像在4 k 显示器上也不会变好。 这就是为什么在后期制作工作室里,编辑们要求使用最好的显示屏和5 k 以上的分辨率。

总结

刚开始时可能会令人有点困惑,现在让我们分析一下到目前为止讨论的内容。

图像分辨率和图像质量直接由图像被捕捉的一刻决定(不考虑后期)。 例如,如果你用高分辨率的设备拍摄,你就会得到高质量的图像。

在编辑图像时,图像分辨率和图像质量并不相关。 例如,当你将一个低分辨率的图像的分辨率提高,你不会提高它的质量。

用于显示图像的媒介类型非常重要。 在高分辨率显示器(如电脑显示器、电视、电影屏幕)上观看效果最佳。 在印刷品上发表的图片要看起来高质量,就需要用高分辨率输出。 在高分辨率显示器上显示的低分辨率图像看起来也不会好多少。 低分辨率的图片在网页上看起来不错,但在印刷品上就不行了。

压缩图像文件会导致图像质量下降

光线好,质量高,光线差,质量低。

随着技术的进步,现在有新的算法正在研发,可以放大图像,同时添加“新的”细节,以改善图像质量。 利用机器学习的人工智能方法,研究人员正在测试使用深度卷积神经网络技术的成像算法。 这可能很快就会成为常态,在这种情况下,提高图像分辨率确实可以改善图像质量。 对于传统成像(不涉及人工智能) ,图像质量仍然在很大程度上取决于捕捉的时刻,其质量将取决于相机的规格(如图像分辨率、传感器大小等)。


本专栏会经常分享各种摄影技巧、心得等,如果喜欢我的文章欢迎关注、点赞,谢谢阅读。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

opencvsharp 为什么降低图像的分辨率_【干货】图像质量与图像分辨率的关系 的相关文章

  • 利用Repeater控件显示主-从关系数据表

    本文介绍了一种利用Repeater控件显示主 从关系数据表的方法 原文参见 http support microsoft com default aspx scid kb en us 306154 NestedRepeater aspx
  • Lora配置

    文章目录 前言 一 LoRa是什么 二 使用步骤 总结 前言 随着物联网技术的发展 越来越多的应用场景需要进行数据传输和通信 而LoRa技术的出现 为长距离 低功耗 低速率的通信提供了一种可靠的解决方案 正点原子的LoRa模块 是一种基于S
  • Oracle 输出方式

    用过几次经常忘记 特此做个笔记 1 Oracle 输出没有sqlserver方便 直接print message 就行 而是需要放到 块 中输出 比如下面的匿名块 set serveroutput on declare begin dbms
  • pcm vlc 文件_VLC播放pcm

    Applications VLC app Contents MacOS VLC demux rawaud rawaud channels 1 rawaud samplerate 48000 rawaud fourcc s8 Users lz
  • 白银价格波动因素是什么?

    在白银产品的投资中 人们要更加全面的对市场进行了解 其中涉及到的范围比较广阔 只有对整个市场的发展和影响因素进行细致的分析 才可以更好的参与到白银产品的投资中 为了更好的获得实际性的利益 重点要对白银的价格进行细致的了解 这样使人们在投资时
  • 特别篇:input小结

    input 我们日常中在使用Python时都会使用input 在控制台进行输出 但是不知道大家发现没有 因为Python是一种动态语言 所以不会像Java中的Scanner类 在代码中可以控制输入的类型 所以当我们输入数字时 底层也会把我们
  • 程序流程图画法复习-三种循环语句(for,while,do while)

    程序流程图画法复习 1 程序流程图的作用 程序流程图的作用程序流程图的作用程序流程图的作用 程序流程图是人们对解决问题的方法 思路或算法的一种描述 流程图的优点 a 采用简单规范的符号 画法简单 b 结构清晰 逻辑性强 c 便于描述 容易理
  • HTTP请求行详解

    目录 一 认识URL 二 认识方法 2 1 GET方法 2 2 POST方法 2 3 其他方法 请求行也就是HTTP请求的第一行 接下来将对第一行内容进行详细解释 一 认识URL 平时我们俗称的 网址 其实就是说的 URL Uniform
  • 从0开始学PyTorch(一):线性回归、Softmax与分类模型、多层感知机

    文章目录 线性回归 模型 数据集 损失函数 优化函数 随机梯度下降 Softmax与分类感知机 softmax的基本概念 多层感知机 多层感知机的基本知识 隐藏层 表达公式 激活函数 线性回归 线性回归的基本要素 模型 为了简单起见 这里我
  • java文件下载接口,含泪整理面经

    Java如何入门 1 建立好开发环境 首先建立好开发环境非常重要 工欲善其事 必先利其器 做任何开发 首先就是要把这个环境准备好 之后就可以去做各种尝试 尝试过程中就能逐渐建立信心 初学者往往在环境配置中被各种预想不到的问题弄得很沮丧 这里
  • Python工业项目实战 04:数仓维度层DWS层构建

    知识点01 课程回顾 ODS层与DWD层的功能与区别是什么 ODS 原始数据层 存储格式 AVRO 数据内容 基本与原始数据是一致的 DWD 明细数据层 存储格式 Orc 数据内容 基于与ODS层是一致的 ODS层的需求是什么 自动化建库建
  • php怎么判断密码是否达标,php中简单的密码强中弱判断,php密码验证规则

    密码种类 1 小写字母 2 大写字母 3 数字 4 特殊符号 弱 1 中 2 强 3 或 4 长度 6 16个字符 区分大小写 1 长度判断 pwd len strlen password if pwd len gt 16 pwd len
  • 【华为OD机试】仿 LISP 运算【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 LISP 语言唯一的语法就是括号要配对 形如 OP P1 P2 括号内元素由单个空格分割 其中第一个元素 OP 为操作符 后续元素均为其参数 参数个数取决于操作符类型
  • 百度语音合成精简版

    我参照文档合成的源码下载 https download csdn net download qq 31939617 10388588 下载 文档 Android TTS SDK 集成进入helloworld 项目 一 简介 本文针对遇见集成
  • io流读写文件(文件内容修改)

    package cn sos psasps import java io BufferedReader import java io BufferedWriter import java io FileReader import java
  • Git第十三讲 Git重置和回滚更改

    在使用Git时 我们有时可能会犯错或者需要撤销之前的提交或更改 Git提供了一些强大的命令来重置和回滚更改 帮助我们管理项目的版本控制 本文将介绍如何使用Git进行重置和回滚操作 重置到指定提交 重置 Reset 命令允许我们将分支的指针移
  • tar 打包压缩命令

    tar 命令用于文件的打包或压缩 是最为常用的打包压缩命令 其语法格式如下 tar 选项 文件名 tar gz 源文件 tar czvf xxx tar gz source file tar czvf 包名 tar gz 源文件 以tar
  • 【以太坊系列-005】使用solc编译solidity智能合约,并生产web3deploy格式的代码

    说明 本文主要介绍 只通过solc来进行智能合约的部署 更简单的方式是通过remix直接生成 该场景是用于用户自己修改了solc编译器 remix无法使用的情况 1 代码结构 cat counter sol pragma solidity
  • SPP连接流程

    1 SDP服务注册 Server Channel即RFCOMM Server Channel 表示上层profile的rfcomm channel Central设备会使用SDP查询SPP的Server Channel 在后面使用RFCOM

随机推荐

  • C++ — 类型萃取

    类型萃取 在编程中我们可能时常会听到类型萃取这个高大上的 学术名词 我们今天来探究一下这个高大上的学术名词 到底是何方神圣 先看看官方的解释类型萃取使用模板技术来萃取类型 包含自定义类型和内置类型 的某些特 性 用以判断该类型是否含有某些特
  • Coinbase 研究:Web3 开发者堆栈指南

    原文标题 A simple guide to the web3 developer stack 撰文 Jonathan King Connor Dempsey Hoolie Tejwani 编译 胡韬 链捕手 尽管比特币和以太坊的兴起 以及
  • 电力识读图解(电力系统、电力网、电力系统电路图)

    一 电力系统和电力网 世界上大部分国家的动力资源和电力负荷中心分布是不一致的 如水力资源都是集中在江河流域水位落差较大的地方 燃料资源集中在煤 石油 天燃气的矿区 大电力负荷中心则多集中在工业区和大城市 因而发电厂和负荷中心往往相隔很远的距
  • 岁月划过生命线(2016 年终总结 -季度之星)

    岁月划过生命线 2016 年终总结 季度之星 标签 coder 年假结束 明天就要回到杭州 回到我fighting的战场 回首过去的2016 放纵了许多 但也收获了很多 n个项目 n个框架 第一个季度之星 头像第一次登上CSDN以及第一个年
  • 【C++笔记】OpenCV图像Mat格式转换为QT中QImage并显示zai Qlabel上

    Mat rgb QImage imgGray img if imgGray channels 1 imgGray img QImage const unsigned char imgGray data imgGray cols imgGra
  • 蓝桥杯官网练习题(兰顿蚂蚁)

    题目描述 兰顿蚂蚁 是于 1986 年 由克里斯 兰顿提出来的 属于细胞自动机的一种 平面上的正方形格子被填上黑色或白色 在其中一格正方形内有一只 蚂蚁 蚂蚁的头部朝向为 上下左右其中一方 蚂蚁的移动规则十分简单 若蚂蚁在黑格 右转 90
  • 标准时间格式转unix时间戳格式,误差8小时问题常见原因剖析

    标准时间格式即人一眼就能看懂的时间格式 比如 2017 11 28 15 00 00 unix时间戳格式 就是从1970年1月1日0点0分0秒 UTC GMT的午夜 开始计时 所经过的秒数 前端工作中有一次遇到需要从数据库中取出标准格式时间
  • 51单片机的智能温室大棚控制系统【proteus仿真+程序+报告+原理图】

    1 主要功能 该系统由AT89C51单片机 LCD1602模块 DS18B20温度传感器模块 DS1302时间模块 继电器驱动模块 电位器模块构成 本方案适用于智能温室大棚 蔬菜大棚等各类设计中 版本一 1 DS18B20温度传感器检测大棚
  • linux服务器结合宝塔搭建Gitlab服务器完整过程

    不想被束缚 公司总是不给我gitlab管理员账号 我自己搭建一个去 又不是没有服务器的人 哼 1 宝塔安装GitLab服务器 根据自己的内存选择不用的版本安装 2 宝塔开发端口如 8099 这个是我的Gitlab服务器的端口 如果有防火墙那
  • 虚拟化技术原理(CPU、内存、IO)

    本文来自 http www ywnds com p 5856 虚拟化 云计算现在已经非常成熟了 而虚拟化是构建云计算基础架构不可或缺的关键技术之一 云计算的云端系统 其实质上就是一个大型的分布式系统 虚拟化通过在一个物理平台上虚拟出更多的虚
  • 简单明了实现Java地图小程序项目

    简单明了实现Java地图小程序项目 博主介绍 前言 地图概述 地图技术 地图应用场景 网约车服务 智能穿戴 智能物流 智能景区 车联网 国内常见地图 地图API与搜索 JS API GL 演示百度地图 创建浏览器端应用 创建地图 添加控件
  • NGUI的一个bug解决:Thetype or namespace name `UnityEditor‘ could not be found.

    BUG Thetype or namespace name UnityEditor could not be found Are you missing ausing directive or an assembly reference 解
  • 计算机网络必会:TCP和UDP,面向连接,无连接,可靠与不可靠

    文章目录 导论 面向连接可靠的服务 TCP 无连接 不可靠的服务 UDP 导论 我在学习计算机网络的过程中 遇到了TCP和UDP解释 其中 无连接 面向连接 对我有很多新启发 下面就简单来聊聊 有兴趣多点个赞收藏一下 有错误可以私信反馈 欢
  • 用C语言写一个简单的贪吃蛇游戏(用到easyx图形库)

    学习内容 1 游戏的存储与读写 2 制作游戏菜单 3 制作定时器 目录 一 需要用到的头文件 全局变量和一些函数 二 定时器 三 数据的初始化和绘制 四 蛇的运行和吃食物 五 游戏菜单界面 六 游戏存储与读写 七 其他函数 八 主函数入口
  • Letters CodeForces - 978C(水题,low_bound()函数使用)

    水题 记录一下low bound begin end num 其中low bound是指以num为下界 寻找第一个比num大或相等的元素的指针 通过减去 begin指针我们可以获得相应的下标 upper bound first last v
  • p51 thinkpad 拆解_ThinkPad P51s固态硬盘加装指南(含拆机图)

    原标题 ThinkPad P51s固态硬盘加装指南 含拆机图 ThinkPad P51s是一款定位功能强大 机身轻薄的移动工作站 在19 9mm的机身中承载着酷睿i7 专业图形显卡 32G大内存 固态 机械双硬盘等专属强大性能 但是强大的性
  • webpack自动化打包webpack-dev-server

    在前面的章节中我们每次改完要打包的资源文件 和配置文件都是是输入npx webpack命令手动打包的 那么有没有什么办法可以监听到我们代码的改动 在保存时就自动打包呢 答案是当然有 不然哪些框架的脚手架是怎么实现保存自动打包的呢 这就是本章
  • Ubuntu重现IBM-Blockchain/marbles的Demo

    IBM Blockchain marbles Github网址 之前看书marbles是被翻译成大理石 不过也有翻译成弹珠的 自己理解就可以了 都是资产 现在我们开始重现这个官方的Demo 搭建Fabric的开发环境 搭建的环境至少是1 0
  • msfconsole常用搜索命令search

    msfconsole启动msf控制台后 msfconsole 2 dBBBBBBb dBBBP dBBBBBBP dBBBBBb o dB BBP dB dB dB dBBP dBP dBP BB dB dB dB dBP dBP dBP
  • opencvsharp 为什么降低图像的分辨率_【干货】图像质量与图像分辨率的关系

    在谈论图像质量时 我们都会提到分辨率 分辨率当然是指以像素 图像元素 为单位测量的图像的大小 当您将图像分辨率的宽度和高度相乘时 它将给出图像的总像素数 而质量是指图像中存储在像素中的细节内容 如颜色 阴影 对比度等 有些说法是 更高的分辨