对图像应用过滤器,使它们看起来像是从更远的地方拍摄的
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()
结果:
我想对图像应用滤镜,使它们看起来像是从远处拍摄的,就像它们的真实情况一样。
供参考:
左下图距植物约 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()
结果: