图像处理(三):单应性矩阵
概念介绍
很多时候我们需要把一张图片“均匀”地扭曲一下。比如说,你有一本书封面的正面照片,现在你想生成这个封面放在桌面上,与你视线有一定夹角的的照片。很显然这是一个线性变换,在数学上只需将原图乘一个矩阵即可。这个矩阵便是单应性矩阵。
代码实现
任务
利用单应性矩阵,将梵高画像p到公交车的广告栏
梵高像:
公交车:
代码
单应性矩阵:
H=[[ 8.34566914e-01 -3.12962592e-02 -4.53681006e+02],
[ 1.29611862e-01 1.21225212e+00 -5.04967813e+02],
[ -8.20263106e-04 1.45634346e-05 1.00000000e+00]]
函数:
def applyHomography(H,im1,im2,option):
#option = "nearest" or "bilinear"
#warp image 2 to image 1
im = im1
### return im
height1, width1, channel1 = im1.shape
height2, width2, channel2 = im2.shape
if option == "nearest":
for i in range(height1):
for j in range