1 图像插值
# 常见的图像插值 :最近邻插值, 双线性插值, 三次样条插值
# 最近邻插值 ---> 目标图像点对应到源图中, 距离最近的点作为插值点
# ---> 放大图像时,出现块状效应
# 双线性插值 ---> 线性插值 已知(x0,y0), (x1,y1) x在两点间的直线y的值
# x和x0,x1的距离作为一个权重,用于y0和y1的加权
# ---> 核心 四个点 x方向两次线性插值, y方向进行一次线性插值
# Python
import cv2
def show(img):
print("The current input image shape is", img.shape)
cv2.imshow("images", img)
cv2.waitKey()
cv2.destroyAllWindows()
if __name__ == "__main__":
img = cv2.imread("girl.jpg",1)
h, w, c = img.shape
print("orial image shape is", img.shape)
resize_rate = 0.3
# resize(原图, 缩放后图像, x方向缩放因子,y方向缩放因子, 缩放方式(默认双线性插值))
img_resize = cv2.resize(img, (int(resize_rate * w), int(resize_rate * h)), interpolation=cv2.INTER_LINEAR)
fx = 1.5
fy = 1.5
img_resize1 = cv2.resize(img, dsize=None, fx = fx, fy = fy, interpolation=cv2.INTER_NEAREST)
img_resize2 = cv2.resize(img, dsize=None, fx = fx, fy = fy, interpolation=cv2.INTER_LINEAR)
show(img_resize2)