用opencv将图片放大有几种插值方法,系统默认线性插值cv2.INTER_LINEAR,这样图片放大后处理边界时会有个渐变的过程,看起来更平和。但我们实际应用中多用最近邻插值方法,方法如代码中的new函数。对两个相邻像素1和3,若要把图片变成原来的两倍大,用线性插值得到新增像素的值为2,而用最近邻插值新增三个像素值均为1,相当于把1变成了[[1,1],[1,1]]。
# -*- coding:utf-8 -*-
import cv2
import numpy as np
def new(img):
img_new = np.zeros((img.shape[0] * 4, img.shape[1] *