计算机视觉图像处理-CV2与图像插值算法

Lark ·
更新时间:2024-11-13
· 501 次阅读

用最近邻插值与双线性插值原理完成图像缩放

最近邻插值,是指将目标图像中的点,对应到源图像中后,找到最相邻的整数点,作为插值后的输。缺点:使用最近邻插值算法处理图像放大时,在图象中可能出现明显的块状效应
双线性插值,在两个方向上做三次线性插值。使用双线性插值算法处理图像放大时,在图象中可能出现马赛克

代码

import cv2

img = cv2.imread(’./xiabang.jpg’, cv2.IMREAD_UNCHANGED)
#缩放比例
scale_percent = 0.3
width = int(img.shape[1] * scale_percent)
height = int(img.shape[0] * scale_percent)
dim = (width, height) # 缩放后的图像大小
resized = cv2.resize(
img, # 原图
dim, # 新图大小
interpolation = cv2.INTER_LINEAR # 插值方式
)
fx = 1.5
fy = 1.5
resized = cv2.resize(img, dim, interpolation = cv2.INTER_LINEAR) # 双线性插值缩小0.3
fx = 1.5 # x方向上的缩放因子,即x方向放大1.5倍
fy = 1.5 # y方向上的缩放因子,即y方向放大1.5倍
resized1 = cv2.resize(resized, dsize=None, fx=fx, fy=fy, interpolation = cv2.INTER_NEAREST) # 最近邻插值放大1.5倍,可能出现明显的块状效应
resized2 = cv2.resize(resized, dsize=None, fx=fx, fy=fy, interpolation = cv2.INTER_LINEAR) # 双线性插值放大1.5倍,可能出现马赛克
cv2.imshow(“Resized image”, resized)
cv2.imshow(“INTER_NEAREST image”, resized1)
cv2.imshow(“INTER_LINEAR image”, resized2)
cv2.waitKey(0)
cv2.destroyAllWindows()


作者:tzj1844400



插值 计算机视觉 算法 图像处理

需要 登录 后方可回复, 如果你还没有账号请 注册新账号