【Emgu.CV教程】5.3、几何变换之金字塔变换

这一段文字描述来自百度百科:

图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的有效但概念简单的结构。一幅图像的图像金字塔是一系列以金字塔形状(自下而上)逐步降低,且来源于同一张原始图的图像分辨率集合。其通过梯次向下采样获得,直到达到某个终止条件才停止采样。我们将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低。

下面的图片也来自百度百科,金字塔就是从塔尖开始一直到塔底,图像的尺寸从小到大一次变化。比如我正常的一张图片是在Level1上,那向上一级就是Level2,尺寸会线性变小;向下一级是Level0,尺寸会线性变大。

说白了图像金字塔就是对原始图像整体放大、缩小,而不改变长宽比例。这是一种图像处理的手段,让图像在不同尺寸下被分析,在机器学习里面,这个手段用的很多。可这跟今天介绍的Emgu.CV有什么关系呢???????其实在Emgu.CV里面,也有按照上面的思路进行图像整体缩放的两个函数, PyrDown()和PyrUp()。

1、下采样PyrDown()

cs 复制代码
public static void PyrDown(
    IInputArray src, // 输入图像
    IOutputArray dst, // 输出图像
    BorderType borderType = BorderType.Reflect101 // 边界类型,我也不知道有什么用
)

执行一次下采样,就是让图像的宽度、高度都缩小为原来的一半。这个和上面的金字塔图形是反着的:**金字塔越往下越大,Emgu.CV里面名字叫往下的函数,实际是缩小的。**以一张 哈士奇.jpg为例,原始图像宽557,高399,执行一次下采样的代码:

cs 复制代码
Mat dstMat = srcMat.Clone();
CvInvoke.PyrDown(srcMat, dstMat, BorderType.Default); // 下采样(缩小,长宽各变成原来的0.5倍)
CvInvoke.Imshow("Result Mat, " + dstMat.Size.ToString(), dstMat);

输出的目标图像是:

2、上采样PyrUp()

cs 复制代码
public static void PyrUp(
    IInputArray src, // 输入图像
    IOutputArray dst, // 输出图像
    BorderType borderType = BorderType.Reflect101 // 边界类型,我也不知道有什么用
)

执行一次上采样,就是让图像的宽度、高度都变成原来的2倍。还是以 哈士奇.jpg为例,原始图像宽557,高399,执行以下代码:

cs 复制代码
Mat dstMat = srcMat.Clone();
CvInvoke.PyrUp(srcMat, dstMat, BorderType.Default); // 下采样(缩小,长宽各变成原来的0.5倍)
CvInvoke.Imshow("Result Mat, " + dstMat.Size.ToString(), dstMat);

输出的目标图像是:

哈士奇.jpg的原始照片是这样的:

3、总结

  • 下采样PyrDown(),图像高度、宽度变成原来的0.5倍。
  • 上采样PyrUp() ,图像高度、宽度变成原来的2倍。

原创不易,请勿抄袭。共同进步,相互学习。

相关推荐
七七墨染1 小时前
DotMemory系列:5. 如何实现自动化抓取和应用自托管
运维·c#·自动化
AI模块工坊2 小时前
CVPR 即插即用 | 当RetNet遇见ViT:一场来自曼哈顿的注意力革命,中科院刷新SOTA性能榜!
人工智能·深度学习·计算机视觉·transformer
王家羽翼-王羽3 小时前
C# 连接 PLC 的S7西门子协议读写,样例分享
c#
斯内科3 小时前
C#进行CAN【控制器局域网】通讯
c#·can·pcanbasic.net
wuk9983 小时前
基于Matlab的彩色图像特征提取实现
人工智能·计算机视觉·matlab
Dev7z3 小时前
基于计算机视觉与机器学习的课堂坐姿智能监测与预警系统
人工智能·机器学习·计算机视觉
钟屿3 小时前
Back to Basics: Let Denoising Generative Models Denoise 论文阅读学习
论文阅读·人工智能·笔记·学习·计算机视觉
强化学习与机器人控制仿真4 小时前
Meta 最新开源 SAM 3 图像视频可提示分割模型
人工智能·深度学习·神经网络·opencv·目标检测·计算机视觉·目标跟踪
长不大的蜡笔小新4 小时前
从0到1学AlexNet:用经典网络搞定花分类任务
图像处理·深度学习·机器学习
却道天凉_好个秋4 小时前
OpenCV(二十七):中值滤波
人工智能·opencv·计算机视觉