ISP之图像降分辨率

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.hqwc.cn/news/2495.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker安全

一、Docker 容器与虚拟机的区别 1、隔离与共享 • 虚拟机通过添加 Hypervisor 层,虚拟出网卡、内存、CPU 等虚拟硬件,再在其上建立虚拟机,每个虚拟机都有自己的系统内核 • Docker容器则是通过隔离的方式,将文件系统、进程、设…

使用RabbitMQ死信队列关闭未支付的订单

一、什么是RabbitMQ死信队列 RabbitMQ死信队列(Dead-Letter Exchange,简称DLX)是一种特殊类型的交换机,用于处理在队列中无法被消费的消息。当消息无法被消费时,它会被转发到死信队列中,以便进一步处理。 …

云原生——Docker容器化实战

❄️作者介绍:奇妙的大歪❄️ 🎀个人名言:但行前路,不负韶华!🎀 🐽个人简介:云计算网络运维专业人员🐽 前言 "Docker"一词指代了多个概念,包括开源…

云端安全由繁到简,亚马逊云科技护航业务创新新局面

数字化愿景与现实存在的差距困扰着诸多企业,但造成这种差距的一个重要因素却一直被很多管理者所忽视,那就是企业未能建立应有的数字安全与合规体系。应用迭代的速度加快、数据快速膨胀、企业云原生道路上遭遇的种种困境,与数字安全部门有限的…

大学智慧课堂系统整理

目录 一、题目类型选择器(非组件库) 1.1、效果展示 1.2、代码展示 二、题目类型选择器(Vant组件库) 2.1、效果展示 2.2、代码展示 一、题目类型选择器(非组件库) 使用vue2:在methods里区分单个点击和多个点击,在view视图区分判断题和选择题。 如下…

【微服务】springboot 通用限流方案设计与实现

目录 一、背景 二、限流概述 2.1 dubbo 服务治理模式 2.1.1 dubbo框架级限流 2.1.2 线程池设置 2.1.3 集成第三方组件 2.2 springcloud 服务治理模式 2.2.1 hystrix 2.2.2 sentinel 2.3 网关层限流 三、常用限流策略 3.1 限流常用的算法 3.1.1 令牌桶算法 3.1.2 …

chatgpt赋能python:同一行Python给两个变量赋值:如何提高编程效率?

同一行Python给两个变量赋值:如何提高编程效率? 作为Python编程方面经验丰富的工程师,我们都知道Python是一种非常易学易用的编程语言,其灵活性和高效性问题业已广为人知。然而,当我们在同时对多个变量进行赋值时&…

NLP学习笔记(三)

一:分类方法 (一)逻辑回归 最简单的方法就是将分类问题视为回归问题,采用逻辑回归计算分类的边界。 (二)softmax回归 softmax的前向传播过程可以分为以下三步: h W T x y ^ s o f t m a …

chatgpt赋能python:如何升级Python包

如何升级Python包 如果你是一名有着10年Python编程经验的工程师,那么你一定知道如何安装和使用Python包。但是,有时候你需要升级一些已经安装的包,以获得更好的性能和新功能。在本文中,我们将讨论如何升级Python包。 什么是Pyth…

[conda]tf_agents和tensorflow-gpu安装傻瓜式教程

1.打开终端或Anaconda Prompt&#xff08;Windows用户&#xff09;。 2.输入以下命令创建新的Python环境&#xff1a; conda create --name <env_name> python<version>其中&#xff0c;<env_name>是您想要创建的环境名称&#xff0c;<version>是您想…

HHU云计算期末复习(下)Hadoop、虚拟化技术、openstack

文章目录 第五章 Hadoop分布式文件系统HDFS分离元数据和数据&#xff1a;NameNode和DataNode流水线复制 第七章 虚拟化技术7.1 虚拟化技术简介7.2 虚拟机迁移7.3 网络虚拟化 第八章 openstack8.1 计算服务NovaRabbitMQ 8.2 Swift 第九章 云计算数据中心9.1 云数据中心特征9.2 网…

C# 多数元素

169 多数元素 给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 示例 1&#xff1a; 输入&#xff1a;nums [3,2,3] 输出&…