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

标签 python opencv image-processing blur

我想对图像应用过滤器,使它们看起来像是从更远的地方拍摄的,因为它们确实如此。

供引用:

下面的左图距离植物约 1 米。

右图距离 10m。

enter image description here

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

我需要在 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()

结果:

enter image description here

关于python - 对图像应用滤镜,使它们看起来像是从更远的地方拍摄的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50390647/

相关文章:

c# - 如何压缩jpg图像?

python - 如何更新列表而不是删除以前的输入

python - 通过保持所有字符列完整进行分组

python - 如何使用 Tkinter 按钮从 python 运行 exe

c++ - opencv中黑色物体检测HSV范围

javascript - 如何在 native react 中提取图像中最常用的颜色?

python - 在 .vscode 中调试时遇到问题

python - kaggle 数据集或 python 拆分 CLI

python - Dlib 低亮度图像人脸检测

image-processing - 结合多特征提取器