手机大魔王@Opencv-python之图像的缩放


函数:cv2.resize()
说明:缩放就是改变图片的大小 , 这个函数改变图片的长和宽 , 或者按一定比例进行变化 。
简单例子:
代码如下:
import cv2
#导入图片
img = cv2.imread('1.png')
a0 = img
#缩小0.5倍
a1 = cv2.resize(img,None,fx=0.5, fy=0.5, interpolation = cv2.INTER_CUBIC)
#放大2倍
a2 = cv2.resize(img,None,fx=2, fy=2, interpolation = cv2.INTER_CUBIC)
#放大5倍
a3 = cv2.resize(img,None,fx=5, fy=5, interpolation = cv2.INTER_CUBIC)
#放大10倍
a4 = cv2.resize(img,None,fx=10, fy=10, interpolation = cv2.INTER_CUBIC)
#图片展示
cv2.imshow('a0',a0)
cv2.imshow('a1',a1)
cv2.imshow('a2',a2)
cv2.imshow('a3',a3)
cv2.imshow('a4',a4)
#关闭所有窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
我们先导入图片1(1.png , 像素大小41x41)
【手机大魔王@Opencv-python之图像的缩放】原图
经过缩放后 , 图片变化如下:
手机大魔王@Opencv-python之图像的缩放
本文插图
图中所示 , 从左到右大小变化如下:原图、缩小0.5倍 , 放大2倍 , 放大5倍 , 放大10倍
详解:
cv2.resize(img,None,fx=0.5, fy=0.5, interpolation = cv2.INTER_CUBIC)
img为导入图片 , fx=0.5和 fy=0.5表示缩放0.5倍 , cv2.INTER_CUBIC是所采用的方法 。
缩放有三种方法:cv2.INTER_AREA 、cv2.INTER_CUBIC 、cv2.INTER_LINEAR
方法不同 , 效果不同 , 效果从左到右展示如下:
手机大魔王@Opencv-python之图像的缩放
本文插图
cv2.INTER_AREA 、cv2.INTER_CUBIC 、cv2.INTER_LINEAR
如果函数这样表示 , cv2.resize(img,None,fx=0.5, fy=0.5) , 系统默认方法为 cv2.INTER_LINEAR 。


    推荐阅读