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.
图像梯度计算的是图像变化的速度。对于图像的边缘部分,其灰度值变化较大,梯度值也较大;相反,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也较小。图像梯度计算需要求导数,但是图像梯度一般通过计算像素值的差来得到梯度的近似值(近似导数值)。本节主要介绍Sobel算子、Scharr算子、Laplacian算子和Canny算子的使用.
图标组件是展示图标的组件,但是再Flutter中,Icon组件是只是起一个展示效果,不能进行交互,如果要实现交互,就需要使用图标按钮IconButton组件。
报错Electron failed to install correctly, please delete node_modules/electron and try installing again处理
网页扫描二维码库:Html5-Qrcode,官网地址:https://scanapp.org/html5-qrcode-docs/
快速生成表格
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问题
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。