skimage的分段扭曲函数在输出图像中给出了黑色边框线

时间:2019-05-21 09:27:39

标签: python computer-vision scikit-image

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相同,但是似乎出现了黑色边框。谁能帮我解决问题?谢谢!

输入

input

输出

output

1 个答案:

答案 0 :(得分:0)

warp函数也适用于边框像素,默认模式是将其作为恒定的零/黑色像素。而是使用反射来确保连续性。

output_image = warp(input_image,tform,output_shape =(calc_height,calc_width),mode ='reflect')