img = cv2.imread("E:/code/conputer_visual/data/0.jpg", 1)
#获取图片宽高信息
img_info = img.shape
#打印图片宽高信息
print(img_info)
#保存原始图片宽高和通道数
height = img_info[0]
width = img_info[1]
mode = img_info[2]
#图片缩小一半,计算压缩后图片的宽高
dst_height = int(height * 0.5)
dst_width = int(width * 0.5)
#压缩图片,param1为压缩后图片的宽高
dst = cv2.resize(img, (dst_width, dst_height))
#显示压缩后的图片
cv2.imshow("im_window", dst)
#程序暂停
cv2.waitKey()
opencv中压缩图片共有四种算法,分别是最近领域插值法,双线性插值法,像素关系重采样和立方插值
最近领域插值法
已知原图像为220 * 220 *3
压缩目标图像为110 * 110 * 3
那么目标图像的(x,y)点的像素值来自于原图像的(x * (220 / 110), y * (220 / 110))点的像素值