根据The Gimp的documentation,此滤镜很简单,使用ammount值作为输入,我可以在任何这样的图像中进行失真处理,例如:
原始和已过滤:
因此,我现在面临的挑战是使用Python和OpenCV重现(不必完全相似)这种行为。正如您所看到的,到目前为止,我到达了以下存根:
import cv2
import numpy
img = cv2.imread('img.jpg')
# Do some processing before
x_size = 240
y_size = 320
map_y=numpy.zeros((x_size,y_size),dtype=numpy.float32)
map_x=numpy.zeros((x_size,y_size),dtype=numpy.float32)
cv2.remap(img, map_x, map_y , cv2.INTER_LINEAR)
cv2.imwrite('result.jpg', img)
但是,现在我不确定使用remap
函数是否是一种好方法,在这种情况下,我都不应该使用哪种类型的地图。我该如何完成?有其他替代方法可以执行此任务吗?