最近学习Python+opencv处理图片,在博客上看了很多别人的东西,自己也总结一点
于是,说做就做。嘿嘿
上面是opencv官方教程里的一点内容,下面是源代码
import cv2
import numpy as np
img = cv2.imread('lena.jpg', 1)
rows,cols,channel = img.shape
M = np.float32([[1,0,100],[0,1,50]])
dst = cv2.warpAffine(img,M,(cols,rows))
cv2.imshow('img',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
下面是我的例子图片结果
看起来效果还是还是不错的,不过这里只给出了代码,但具体的数学过程并没有给出,下面是我的理解,新手理解有限,老司机勿喷。
这一变换中,图片实际应该是一个一个像素点移动的,对于一个像素点:
这样,x、y即x0、y0分别移动tx和ty个像素点的新坐标。