向上向下采样

在数字图像处理中,向上采样(upsampling)和向下采样(downsampling)是两种常见的操作,用于改变图像的分辨率。

向上采样(Upsampling):
向上采样是指增加图像的分辨率,通常通过插值方法在图像中插入新的像素来实现。常见的插值方法包括最近邻插值、双线性插值和双三次插值等。通过向上采样,可以增加图像的细节和清晰度,但同时也增加了图像的计算量和存储空间。

向下采样(Downsampling):
向下采样是指降低图像的分辨率,通常通过从图像中删除一些像素来实现。这些被删除的像素通常是通过取样的方式进行选择。向下采样可以减少图像的计算量和存储空间,但也可能导致信息丢失和图像质量下降。

常用函数

pyrDown( )

先对图像进行高斯平滑,再进行降采样

void pyrDown(InputArray src,  //src:输入的图像,可以是单通道或多通道图像,数据类型为 CV_8U, CV_16U, CV_32F 等。OutputArray dst,    //dst:输出的图像,将缩小一半的结果存储在这里,和输入图像具有相同的类型和通道数。const Size& dstsize = Size(),  //dstsize:可选参数,输出图像的尺寸。如果不指定,默认为输入图像尺寸的一半。int borderType = BORDER_DEFAULT //可选参数,用于指定图像边界的填充方式,默认为 BORDER_DEFAULT。);

代码示例:

#include <opencv2/opencv.hpp>
#include <iostream>using namespace cv;
using namespace std;int main() {Mat image = imread("input.jpg");if (image.empty()) {cout << "无法读取图像文件" << endl;return -1;}Mat downsampled_image;pyrDown(image, downsampled_image);imshow("Original Image", image);imshow("Downsampled Image", downsampled_image);waitKey(0);destroyAllWindows();return 0;
}

pyrUp( )

先对图像进行升采样然后再进行高斯平滑


void cv::pyrUp(InputArray src,  //输入图像,即待进行向上采样的图像。可以是 Mat 类型的对象或者其他支持 OpenCV 输入数组协议的对象。OutputArray dst,  //输出图像,即向上采样后的图像。这是一个可选参数,如果不提供,pyrUp() 函数会自动创建一个合适尺寸的输出图像。const Size& dstsize = Size(),  // 输出图像的尺寸,作为可选参数。如果指定了这个参数,那么输出图像的尺寸会根据 dstsize 来确定,而不是根据输入图像来确定。int borderType = BORDER_DEFAULT  //边界扩展类型,作为可选参数。它指定了在进行向上采样时如何处理输入图像的边界。
);

代码示例:

#include <opencv2/opencv.hpp>using namespace cv;int main() {// 读取图像Mat image = imread("input.jpg");// 使用 pyrUp() 函数对图像进行向上采样Mat upsampled_image;pyrUp(image, upsampled_image);// 显示原始图像和向上采样后的图像imshow("Original Image", image);imshow("Upsampled Image", upsampled_image);waitKey(0);destroyAllWindows();return 0;
}

图像金字塔

图像金字塔操作是一种多尺度表示的图像处理技术,它将原始图像分解成一系列不同尺度的图像。
每个尺度上的图像都是通过对前一层图像进行降采样或上采样得到的。

图像金字塔可以分为两类:高斯金字塔和拉普拉斯金字塔。

高斯金字塔:

高斯金字塔是通过对原始图像进行下采样得到的。下采样是将图像的尺寸缩小一倍,同时降低图像的分辨率。这一过程可以重复多次,形成一个金字塔状的图像序列,其中每一层图像都比上一层图像尺寸减小一半。
高斯金字塔的每一层图像都是通过对上一层图像进行模糊(平滑)和下采样得到的。模糊操作使用了高斯滤波器,可以平滑图像并减少噪声。

拉普拉斯金字塔:

拉普拉斯金字塔是由高斯金字塔的不同层之间的差值构成的。每个层的图像与其下一层的上采样图像之间进行相减操作得到差值图像。这样得到的差值图像包含了原始图像在不同尺度上的细节信息。
图像金字塔常用于计算机视觉中的许多任务,如特征提取、目标检测、图像配准和图像融合等。通过在不同尺度上对图像进行处理,可以更好地捕捉到图像中的不同尺度的特征和结构信息,并提供更丰富的图像描述。

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

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

相关文章

leetcode代码记录(最长连续递增序列

目录 1. 题目&#xff1a;2. 我的代码&#xff1a;小结&#xff1a; 1. 题目&#xff1a; 给定一个未经排序的整数数组&#xff0c;找到最长且 连续递增的子序列&#xff0c;并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r&#xff08;l < r&#xff09;确定…

如何查看当前python环境的安装路径

起因&#xff1a;在查看python安装路径时&#xff0c;由于环境变量未添加&#xff0c;导致直接用python无法查看&#xff0c;但是pip又可用。因此找到另外一种代替方法。 利用pip show 库 pip show numpy

代码随想录第34天| 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果

1005.K次取反后最大化的数组和 1005. K 次取反后最大化的数组和 - 力扣&#xff08;LeetCode&#xff09; 代码随想录 (programmercarl.com) 贪心算法&#xff0c;这不就是常识&#xff1f;还能叫贪心&#xff1f;LeetCode&#xff1a;1005.K次取反后最大化的数组和_哔哩哔…

德兰梅尔:耐高温热销的膜元件亮相2024上海国际生物发酵展

德兰梅尔&#xff1a;耐高温热销的膜元件盛装亮相2024上海国际生物发酵展&#xff0c;8月7-9号上海新国际博览中心与您不见不散&#xff01; 据了解&#xff0c;从成立至今&#xff0c;德兰梅尔一直专注膜技术、膜产品的开发生产。在中国市场上&#xff0c;德兰梅尔刚步入中国…

共享门店模式:一种资源优化的创新合伙人机制

共享门店模式&#xff0c;亦被称为“共享股东”模式&#xff0c;是一种创新的合伙人机制。它运用新颖的思维、方式及系统&#xff0c;吸引并集结拥有资源和能力的人才&#xff0c;共同合作&#xff0c;并使他们转变为门店的分红股东。 这一模式的核心在于门店资源的共享&#x…

题目:学习使用按位或 |

题目&#xff1a;学习使用按位或 | There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about being cheated should leave qui…

(css)el-tag标签,el-select多选框,el-cascader级联选框自定义样式

(css)el-tag标签&#xff0c;el-select多选框&#xff0c;el-cascader级联选框自定义样式 css: :root {--button-color: #065de0; }// 标签 .tagNew {margin-right: 20px;border-radius: 20px; }.el-tag.el-tag--info {background-color: var(--button-color);border-color: v…

字符串匹配算法之BF与KMP算法

目录 BF算法(暴力匹配算法) KMP算法 核心思想&#xff1a; next数组 next数组的优化 BF算法(暴力匹配算法) #include <assert.h> int BF(const char* str, const char* sub) {assert(str ! NULL && sub ! NULL);if (str NULL || sub NULL){return -1;}int…

MySQL学习笔记(二)

1、把查询结果中去除重复记录 2、连接查询 从一张表中单独查询&#xff0c;称为单表查询。emp表和dept表联合起来查询数据&#xff0c;从emp表中取员工名字&#xff0c;从dept表中取部门名字&#xff0c;这种跨表查询&#xff0c;多张表联合起来查询数据&#xff0c;被称为连…

【Java SE】8.1继承和多态

目录 1.继承 1.1为什么需要继承 1.2继承概念 1.3继承的语法 1.4父类成员访问 1.4.1子类中访问父类的成员变量 1.4.2子类中访问父类的成员方法 1.5 super关键字 1.6子类构造方法 1.7 super和this 1.8再谈初始化 1.9 protected关键字 1.10继承方式 1.11 final关键字 …

YOLOv9最新改进系列:YOLOv8融合BoTNet模块,融合CNN+自然语言处理技术的优势,有效提升检测效果!

YOLOv9最新改进系列&#xff1a;YOLOv9融合BoTNet模块&#xff0c;融合CNN自然语言处理技术的优势&#xff0c;有效提升检测效果&#xff01; YOLOv9原文链接戳这里&#xff0c;原文全文翻译请关注B站Ai学术叫叫首er B站全文戳这里&#xff01; 详细的改进教程以及源码&…

解读一个binlog文件的内容

解析一个binlog mysqlbinlog -v mysql-bin.000001 /*!50530 SET SESSION.PSEUDO_SLAVE_MODE1*/; /*!50003 SET OLD_COMPLETION_TYPECOMPLETION_TYPE,COMPLETION_TYPE0*/; DELIMITER /*!*/;# at 4 #240402 17:28:13 server id 4294967295 end_log_pos 123 CRC32 0x64dbff7b …

深入理解计算机系统 家庭作业 2.84

这题没有这个要求所以可以用 ? > : < 这种运算 以下代码用的是位级运算.因为我误解了题意 呜呜呜 想看用判断的代码请自行百度 ((((ux<<9>>9)<<((ux<<1>>24)-127)) - ((uy<<9>>9)<<((uy<<1>>24)-127)))>…

【攻防世界】ics-05(PHP伪协议+代码审计+Linux指令)

首先根据题目提示&#xff0c;进入云平台设备维护中心页面&#xff1a; 页面无异常&#xff0c;检查源代码&#xff1a; 发现注入点 ?page&#xff0c;大致有如下思路&#xff1a;1、SSTI模板引擎漏洞&#xff1b;2、XXS&#xff1b;3、PHP伪协议。 首先尝试SSTI漏洞&#xf…

市场复盘总结 20240408

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 二进三&#xff1a; 进级率 33% 最常用的…

如何实现docker内部容器之间的端口访问

Docker 的普及促使众多应用迁至其上部署&#xff0c;得益其诸多优势。然而&#xff0c;相较于传统非 Docker 环境中各应用通过 127.0.0.1:端口 即可轻松互访&#xff0c;Docker 容器若未经端口映射&#xff0c;彼此间端口则无法直接相通。是否存在更优方案以应对这一挑战&#…

简单易懂的Metabase入门指南

简单易懂的Metabase入门指南 数据分析在现代企业决策过程中扮演着至关重要的角色。但是&#xff0c;数据分析和可视化工具往往过于复杂&#xff0c;特别是对于非技术人员而言。Metabase是一个开源的数据分析和BI&#xff08;商业智能&#xff09;工具&#xff0c;它以易用性为…

代码审计中应注意的命令执行函数以及命令

目录 1.远程代码执行函数 1.1.php 1.1.1.call_user_func() 和 call_user_func_array() 1.1.2.create_function() 1.1.3.assert() 1.1.4.preg_replace() 1.1.5.array_map(), array_walk(), array_filter() 1.1.6.register_shutdown_function() 和 register_tick_functio…

数据结构__顺序表

概念及结构 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构&#xff0c;一般情况下采用数组存储。在数组上完成数据的增删查改 需要用到数组&#xff1a;数组的绝对优势&#xff1a;下标的随机访问&#xff08;因为物理空间连续&#xff09; a[i]等…

NatCross实现NASCAB云可云内网穿透指南

一、简介 1、NAS_CAB介绍 跨平台NAS软件,远程管理照片,影音和文件&#xff0c;无需专用设备,个人版永久免费。官网地址&#xff1a;https://www.nascab.cn/。 2、NatCross介绍 NatCross是内网穿透工具,也是免费的端口映射和DDNS动态域名解析软件。软件从2021年上线以来&…