ISP之图像降分辨率

news2024/9/26 1:20:40

1、图像缩放背景

图像的放大、缩小(简称缩放)是图像处理的一种处理方法。所谓图像缩放是指图像分辨率的改变,它在图像显示、传输、图像分析以及动画制作、电影合成、甚至医学图像处理中都有着相当广泛的应用。比如要在1024 X 768 分辨率的显示器上全屏显示800 X 600 的数字图像,就必需对显示信号进行处理,将其放大为 1024 X 768的画面再送显示。传统模拟电视信号要在数字电视上显示,在完成模拟信号到数字信号的转换之后,也需要对图像分辨率进行调整。

数字图像的缩放通常借助图像插值来实现。插值算法的好坏将直接关系到图像的失真程度。用图像插值算法进行图像缩放时,通常存在一对相悖的要素:图像处理速度和图像精度。通常情况下要获得高速甚至实时的图像输出,只能采用相对简单、运算量小的插值算法;而要获得高精度的处理结果,只能牺牲速度,采用复杂度高的算法。目前的图像缩放算法研究趋势是能够实现无级缩放,并且能尽可能准确、清晰地恢复出图像的边缘和细节要素。

2、常见图像降分辨率类型

以下介绍几种常见的图像降分辨率的方法,通过不同的算法得到不同类型的结果,满足不同场景下的功能需求。

图、测试图

2.1 开窗

开窗是ROI(region or interest)的一种,ROI是相机成像应用中,在sensor分辨率范围内定义一个或者多个感兴趣的窗口区域,将窗口内的图像信息读出,获取局部区域图像。

工业相机sensor,尤其是大面阵帧率较低,在工业检测流水线上检测小型物体时,可以通过设置ROI区域,提高sensor采集帧率,进而提高相机输出帧率。

图、开窗效果

2.2 binning

binning是将多个相邻像元响应累加,以一个像素的形式输出,灰度和RGB sensor均可使用。一般sensor不支持这种模式,需要前端自己做。

1、binning分为水平binning和垂直方向binning,可以独立配置,当水平binning配置为2时,图像分辨率行数减半,列数不变,像素总数为原始分辨率的50%。

2、binning分为求和binning和求平均binning,累加处理方式不同。求和方式是将局部区域像元累加求和,求和可以提升图像亮度;求平均是将局部区域像元求平均值,求平均可以提高图像信噪比。

图、求平均binning

图、求和binning

2.3 skip

skipping mode是按照一定规律,采集需要的分辨率数据,比如保留一行,丢弃一行,达到行数减半的目的。

RGB sensor 按照RGB bayer模板,按照2的倍数进行抽样,因为RGB sesnor后续还要做demosiac,skipping的方法导致抽样后像素不具备相邻属性,可能会导致一定程度颜色信息损失或者失真,RGB sensor一般很少用这种模式降分辨率。

图、skip效果

2.4 插值

后续单独出一篇文章介绍


觉得本文对您有一点帮助,欢迎讨论、点赞、收藏,您的支持激励我多多创作。

我的个人博客主页,欢迎访问

我的CSDN主页,欢迎访问

我的GitHub主页,欢迎访问

我的知乎主页,欢迎访问

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/688834.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

8.2 电压比较器(2)

五、集成电压比较器 1、集成电压比较器的主要特点和分类 电压比较器可将模拟信号转换成二值信号,即只有高电平和低电平两种状态的离散信号。因此,可用电压比较器作为模拟电路和数字电路的接口电路。集成电压比较器虽然比集成运放的开环增益低&#xff…

强化学习从基础到进阶-案例与实践[6]:演员-评论员算法(advantage actor-critic,A2C),异步A2C、与生成对抗网络的联系等详解

【强化学习原理项目专栏】必看系列:单智能体、多智能体算法原理项目实战、相关技巧(调参、画图等、趣味项目实现、学术应用项目实现 专栏详细介绍:【强化学习原理项目专栏】必看系列:单智能体、多智能体算法原理项目实战、相关技巧…

Arcmap读取nc文件并导出为tif格式

Arcmap读取nc文件并导出为tif格式 前言操作步骤 前言 在使用某一降水数据的时候,发现直接把nc格式的数据拖进Arcmap,查看属性表的时候是空的,点击图上的信息也只会显示一个值,但这个nc数据应该是有很多个值的(我的数据…

Kubernetes - adm搭建 · 保姆级教程

master(2C/4G,cpu核心数要求大于2) 192.168.179.25 docker、kubeadm、kubelet、kubectl、flannel node01(2C/2G) 192.168.179.26 docker、kubeadm、kubelet、kubectl…

【JavaScript】JavaScript中的nodeName、nodeType、nodeValue区别

文章目录 JavaScript中的nodeName、nodeType、nodeValue区别(一)nodeName(二)nodeValue(三)nodeType JS代码demo JavaScript中的nodeName、nodeType、nodeValue区别 (一)nodeName https://www.w3schools.cn/jsref/prop_node_nodename.html 元素节点的 nodeName是标签名称 属性…

ffmpeg windows编译及调试完整版

目录 编译 基础环境准备 依赖环境安装 依赖库安装 X264 fdk-aac X265 ffmpeg-4.3.6 调试 基础项目环境搭建 VS2019项目创建 VS2019项目代码 vs2019配置 VS2019调试 编译 基础环境准备 1、安装vs2019环境 2、安装msys2工具 3、开始菜单启动x86 Native Tools Comm…

从0到1精通自动化测试,pytest自动化测试框架,fixture之autouse=True(十二)

一、前言 平常写自动化用例会写一些前置的fixture操作,用例需要用到就直接传该函数的参数名称就行了。当用例很多的时候,每次都传这个参数,会比较麻烦 fixture里面有个参数autouse,默认是Fasle没开启的,可以设置为Tr…

diffusion model(一)DDPM技术小结 (denoising diffusion probabilistic)

DDPM技术小结 (denoising diffusion probabilistic) 1 从直觉上理解DDPM 在详细推到公式之前,我们先从直觉上理解一下什么是扩散 对于常规的生成模型,如GAN,VAE,它直接从噪声数据生成图像,我们不妨记噪声数据为 z z…

RTX 4060跑分出炉,加量还降价真良心了?

RTX 40 系真正意义上主流平民级显卡 4060 桌面版已确认于本月 29 日推出。 相较于原定的 7 月中旬上市提前了半个月左右,国内售价 2399 元(比 RTX 3060 首发低 100 元)。 从这样的「早产」操作能看出,RTX 40 系显卡拉胯销量表现确…

java并发编程 2:java线程基础知识

目录 创建和运行线程查看进程线程线程运行原理常见方法了解start与runsleep与yield线程优先级joininterrupt不推荐使用的方法 主线程与守护线程线程状态操作系统中的线程状态java中的线程状态 创建和运行线程 方法一: 直接使用 Thread public class CreateThread01 {public s…

使用U盘安装Centos7全流程分享

文章目录 1、下载 centos7 的镜像2、下载老白菜3、插入U盘4、将U盘插入要刷机的电脑中5、获取U盘的启动地址6、正式配置重启7、进入安装界面了,现在就容易7.1 选择中文7.2 点击安装位置,分配磁盘7.3 配置网络和主机7.4 选择开始安装,并配置账…

【第1集】odoo16开发环境搭建

因为博主使用Mac作为开发电脑,因此都以Mac为主。同时本文odoo使用的是16版本,采用python源码进行安装,如需要二进制安装同学,后续有条件可能会出这方面的搭建指导。本文包含四个部分,分别为数据库安装,系统…

C++ bool 类型

文章目录 一. bool 类型二. 三目运算符 一. bool 类型 在 C 中,bool 类型用于表示逻辑值,它只有两个可能的取值:true(真)和 false(假)。bool 类型常用于条件判断和布尔运算中。 C 标准要求 bo…

Cooike Session

1 会话技术 1.1 会话管理概述 1.1.1 什么是会话 这里的会话,指的是web开发中的一次通话过程,当打开浏览器,访问网站地址后,会话开始,当关闭浏览器(或者到了过期时间),会话结束。 …

UE5 录制透明png序列帧

以下是在 Unreal Engine 5 中录制透明 PNG 序列帧的详细步骤: 步骤1:创建一个场景 步骤2:打开序列录制器 在 Unreal Engine 5 中,首先需要打开序列录制器。你可以通过点击顶部菜单栏的 窗口 > 开发人员工具 > 序列录制器 …

HashMap、HashTable、ArrayList、定长数组之间的性能和速度比较

1、HashMap & HashTable 的速度谁快 HashMap 牺牲了线程安全提高了效率,HashTable 牺牲了效率换来了线程安全 2、HashMap 为什么线程不安全 HashMap 底层维护了一个数组,当多线程的时候对这个数组操作是不安全的。 3、ArrayList & HashMap 通…

React写法——使用js高阶函数实现多条件搜索功能

🙂博主:爱学习的Akali king 🙂本文核心:React写法——使用js高阶函数实现多条件搜索功能 目录 思考一下代码是什么?你如何看待编程语言?用react写法来实现,思路步骤:第一步&#x…

动态规划 DP (三)

4.分割DP 对于分割类型题,动态规划的状态转移方程通常并不依赖相邻的位置,而是依赖于满足分割 条件的位置。 1) 力扣https://leetcode.cn/problems/perfect-squares/举个例子对于8来说,要计算 完全平方数的最少数量 ,…

剑指offer刷题笔记--Num21-30

1--调整数组顺序使奇数位于偶数前面(21) 主要思路: 双指针法,左指针从 0 开始遍历,直到遇到偶数,右指针从 len - 1 开始遍历,直到遇到奇数; 这时左指针指向偶数,右指针指…

kube-proxy源码阅读

kube-proxy源码阅读 通过阅读kube-proxy的源码可以将proxy的主要逻辑总结为下图所示: 首先顺着代码阅读到ProxyServer->Run()函数,这里是kube-proxy启动的主逻辑,启动了两个server,分别是: ...var errCh chan err…