python 如何用pyvips做仿射变换并得到与原始图像相同的大小?

x3naxklr  于 2023-02-18  发布在  Python
关注(0)|答案(1)|浏览(136)

我对仿射函数做了一些实验,把从Air-lab得到的变换矩阵应用到skimage的运动图像上,opencv和vips。Vips能达到和其他两个一样的效果吗?我认为vips为结果图像做了很多填充。但是我只需要像其他两个一样的填充类型。Vips在处理大型WSIs时速度超快。我不知道。I don“我不认为cv或skimage能像vip那样快。

vips_image = moving_image_vips.affine((T[0][0],
                                       T[0][1],
                                       T[1][0],
                                       T[1][1]),
                                      idx = T[0][2], 
                                      idy = T[1][2]
                                     )
warped_sk_image = skimage.transform.warp(np_moving_image.numpy(), 
                                         nverse_map=Tinv
                                        )
warped_cv2_image = cv2.warpAffine(moving_image.numpy(), 
                                  T[0:2, :], 
                                  (fixed_image.size[1], fixed_image.size[0])
                                 )

以下是我从airlab skimage opencv和vips x1c 0d1x获得的结果

vlju58qv

vlju58qv1#

您应该设置affineoarea参数来约束该框。
例如,尝试oarea=(0,0,target_width,target_height)

相关问题