对图像应用过滤器,使它们看起来像是从更远的地方拍摄的

apply a filter on images, to make them appear like they are taken from further away

我想对图像应用滤镜,使它们看起来像是从远处拍摄的,就像它们的真实情况一样。

供参考:

左下图距植物约 1 米。

右图是10m外的。

我应该使用哪些滤镜或滤镜组合来从左边的图像中获取正确的图像。我想我可以使用某种模糊和像素化。 我想在这里问一下,所以看看在图像处理中是否有一种标准的方法可以提供逼真的结果。

我需要在 python 3 中实现它,我知道如何使用 opencv 实现模糊。

我会进行立方下采样,然后进行最近邻上采样,并使用一点模糊进行润色:

img = cv2.imread(impath,-1)
w,h = img.shape[:2]
down = cv2.resize(img,(int(w/3),int(h/3)),interpolation=cv2.INTER_CUBIC)
up = cv2.resize(down,(w,h),interpolation=cv2.INTER_NEAREST)
up = cv2.GaussianBlur(up,(5,5),2.4,2.4)
cv2.imshow('',up)
cv2.imshow('in',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

结果: