import numpy as np
from skimage.transform import PiecewiseAffineTransform, warp
from skimage import io
calc_height = 100
calc_width = 100
tform = PiecewiseAffineTransform()
l1 = np.float32([[0,0],[100,0],[100,100],[0,100]])
l2 = np.float32([[0,0],[100,0],[100,100],[0,100]])
tform.estimate(l1,l2)
input_image = io.imread('input.jpg')
output_image = input_image
output_image = warp(input_image, tform, output_shape=(calc_height, calc_width))
io.imsave('output.jpg',output_image)
input.jpg是绿色的100 X 100图像。当我进行身份转换时,output.jpg应该与input.png相同,但是似乎出现了黑色边框。谁能帮我解决问题?谢谢!
输入
输出
答案 0 :(得分:0)
warp函数也适用于边框像素,默认模式是将其作为恒定的零/黑色像素。而是使用反射来确保连续性。
output_image = warp(input_image,tform,output_shape =(calc_height,calc_width),mode ='reflect')