OpenCV-Python图像的缩放
简介调整图像大小意味着改变它的尺寸,无论是宽度、高度还是两者都改变。此外,原始图像的纵横比可以保留在调整大小的图像中。为了调整图像大小,OpenCV 提供了 resize() 函数。
图片的缩放包含了两层意思:缩小和放大。那么OpenCV提供了resize函数:
def resize(src: UMat, dsize: cv2.typing.Size | None, dst: UMat | None = ..., fx: float = ..., fy: float = ..., interpolation: int = ...) -> UMat: ...
参数说明:
| 参数 | 描述 |
|---|---|
| src | 【必需】原图像 |
| dsize | 【必需】输出图像所需大小 |
| fx | 【可选】沿水平轴的比例因子 |
| fy | 【可选】沿垂直轴的比例因子 |
| interpolation | 【可选】插值方式 |
其中插值方式有很多种:
| cv.INTER_NEAREST | 最近邻插值 |
| cv.INTER_LINEAR | 双线性插值 |
| cv.INTER_CUBIC | 双线性插值 |
| cv.INTER_AREA | 使用像素区域关系重新采样。它可能是图像抽取的首选方法,因为它可以提供无莫尔条纹的结果。但是当图像被缩放时,它类似于INTER_NEAREST方法。 |
通常的,缩小使用cv.INTER_AREA,放缩使用cv.INTER_CUBIC(较慢)和cv.INTER_LINEAR(较快效果也不错)。默认情况下,所有的放缩都使用cv.INTER_LINEAR。
一、指定尺寸进行缩放
指定dsize参数
import cv2
img1 = cv2.imread("./1-1.jpg", cv2.IMREAD_UNCHANGED)
img2 = cv2.resize(img1, (250, 250)) #缩小
img3 = cv2.resize(img1, (700, 700)) #放大
cv2.imshow("img-1", img1)
cv2.imshow("img-2", img2)
cv2.imshow("img-3", img3)
cv2.waitKey(0)
cv2.destroyAllWindows()
二、宽高等比缩放
dsize参数需要设成None,再设置fx和fy
import cv2
img1 = cv2.imread("./1-1.jpg", cv2.IMREAD_UNCHANGED)
img2 = cv2.resize(img1, None, fx=0.5, fy=0.5) # 缩小0.5倍
img3 = cv2.resize(img1, None, fx=1.5, fy=1.5) # 放大1.5倍
cv2.imshow("img-1", img1)
cv2.imshow("img-2", img2)
cv2.imshow("img-3", img3)
cv2.waitKey(0)
cv2.destroyAllWindows()
要进行图片缩放,要么设置dsize参数,要么设置fx和fy参数,但是设置fx和fy参数时需要将dsize设置成None.
uptime命令可以输出当前系统的时间、系统开机到现在的运行时间、目前多少用户在线和系统平均负载等信息
有时候当服务器出现流量出入过高的时候,需要去如何排查是哪些进程在使用,本文主要记录如何通过相关命令来进行排查。
二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个结点最多只能有两棵子树,且有左右之分。
前一章节我们介绍了Redis的持久化RDB,它持久化的数据文件存放在默认文件名为dump.rdb的文件中。本节我们将进行探究RDB文件的格式是怎样的?Redis是如何以二进制的形式来存放数据的?
在使用虚拟机的时候,为了能跟宿主机进行文件上的共享,所以需要对VirtualBox设置共享功能,这里主要记录如何进行VirtualBox中的Centos与宿主机之间的共享。
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题