龙空技术网

OpenCV学习之路-30. 图像的缩放

Python名媛 166

前言:

当前朋友们对“rgb缩放算法”大体比较注重,大家都需要知道一些“rgb缩放算法”的相关知识。那么小编同时在网摘上网罗了一些对于“rgb缩放算法””的相关资讯,希望同学们能喜欢,各位老铁们一起来了解一下吧!

缩放只是调整图像的大小。

OpenCV 提供了 cv2.resize 函数,实现图像的缩放和大小变换 。

函数说明:

cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) → dst
参数说明:scr:变换操作的输入图像dsize: 输出图像的大小,二元元组 (width, height)dst:变换操作的输出图像,可选项fx, fy:x 轴、y 轴上的缩放比例,实型,可选项interpolation:插值方法,整型,可选项

cv2.INTER_LINEAR:双线性插值(默认方法)

cv2.INTER_AREA:使用像素区域关系重采样,缩小图像时可以避免波纹出现

cv2.INTER_NEAREST:最近邻插值

cv2.INTER_CUBIC:4x4 像素邻域的双三次插值

cv2.INTER_LANCZOS4:8x8 像素邻域的Lanczos插值

返回值:dst,变换操作的输出图像,ndarray 多维数组注意事项:

图像缩放可以通过 dsize 直接设定输出图像的大小,也可以通过 dx, dy 设置图像缩放的比例(dsize 设为 None)。

也可以通过构造缩放变换矩阵 MAZ,由函数 cv2.warpAffine 计算变换后的缩放平移图像。缩放变换矩阵 MAZ 由以下公式描述:

由偏移量 (Tx, Ty) 按上式构造平移变换矩阵 MAT,由函数 cv2.warpAffine 可以计算变换后的平移图像。

基本例程:1.39 图像的缩放变换

# 1.39 图像的缩放img = cv2.imread("../images/Fractal08.png") # 读取彩色图像(BGR)height, width = img.shape[:2] # 图片的高度和宽度imgZoom1 = cv2.resize(img, (int(0.75*width), int(height)))imgZoom2 = cv2.resize(img, None, fx=0.75, fy=1.0, interpolation=cv2.INTER_AREA)plt.figure(figsize=(8,6))plt.subplot(121), plt.axis('off'), plt.title("Zoom: 0.75*W,1.0*H")plt.imshow(cv2.cvtColor(imgZoom1, cv2.COLOR_BGR2RGB))plt.subplot(122), plt.axis('off'), plt.title("Zoom: fx=0.75,fy=1.0")plt.imshow(cv2.cvtColor(imgZoom2, cv2.COLOR_BGR2RGB))plt.show()

(本节完)

标签: #rgb缩放算法