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.
打包出现如下错误:Error: Application entry file "dist\electron\main.js" in the "D:\gui\demo2\build\win-unpacked\resources\app.asar" does not exist. Seems like a wrong configuration.
在使用Laravel中如果要进行复杂的查询,那么通过模型中的函数来查询是不行的,所以本文主要记录如何通过aggregate来进行复杂的查询。
chpasswd命令用于从标准输入中读取一定格式的用户名和密码来批量修改用户的密码,输入格式为: “用户名:密码”
为了实现能定时修改桌面背景,又不想使用其他的软件,所以自己就通过了Python实现了更换桌面背景的程序,后期通过执行定时任务来修改自己的桌面背景。
Python的format使用应该是比较常见的,但是在Python3中,format的使用是怎么样的呢?本文主要记录就是Python3中的format的使用。
快速生成表格
在使用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问题