缩放变换

您所在的位置:网站首页 图像的仿射变换 缩放变换

缩放变换

2023-04-12 22:32| 来源: 网络整理| 查看: 265

《OpenCV轻松入门:面向Python》读书笔记 作者:李立宗 出版社:电子工业出版社 出版时间:2019-05

第5章 几何变换

  几何变换是指将一幅图像映射到另外一幅图像内的操作。OpenCV提供了多个与映射有关的函数,这些函数使用起来方便灵活,能够高效地完成图像的映射。

  根据OpenCV函数的不同,本章将映射关系划分为

缩放、 翻转、 仿射变换、 透视、 重映射等。 5.1 缩放 1) 函数

在OpenCV中,使用函数cv2.resize()实现对图像的缩放,该函数的具体形式为:

dst=cv2.resize(src,dsize[ ,fx,[fy,[interpolation]]])

式中:

dst代表输出的目标图像,该图像的类型与src相同,其大小为dsize(当该值非零时),或者可以通过src.size()、fx、fy计算得到。 src代表需要缩放的原始图像。 dsize代表输出图像大小。 fx代表水平方向的缩放比例。 fy代表垂直方向的缩放比例。

interpolation代表插值方式,具体如表5-1所示。

表5-1 插值方式

● 在shape属性中,第1个值对应的是行数,第2个值对应的是列数。 ● 在dsize参数中,第1个值对应的是列数,第2个值对应的是行数。 在使用cv2.resize()函数时,要额外注意参数dsize的属性顺序问题。

2) 程序

【例5.2】设计程序,使用函数cv2.resize()完成一个简单的图像缩放。

import cv2 img=cv2.imread("test.bmp") rows,cols=img.shape[:2] size=(int(cols*0.9),int(rows*0.5)) rst=cv2.resize(img,size) print("img.shape=",img.shape) print("rst.shape=",rst.shape) 3) 结果

运行程序,结果如下:

img.shape= (512, 51, 3) rst.shape= (256, 45, 3)

从程序可以看出:

列数变为原来的0.9倍,计算得到51×0.9=45.9,取整得到45。 行数变为原来的0.5倍,计算得到512×0.5=256。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3