基于傅里叶变换的图像配准
项目描述
Foureg
使用离散傅里叶变换进行图像配准。
给定两个图像,foureg
计算一个相似变换,将一个图像转换为另一个图像。
注意
这仍然处于WIP状态,并且接口可能会在没有通知的情况下更改
示例
该示例将使用用户定义的变换转换图像,然后使用 foureg
再次发现它。
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image # Not a dependency from this pa
from foureg import similarity, similarity_matrix, transform_img
# 1) Make up some transformation
transformation = similarity_matrix(1.2, 15, (40, 60))
# 2) Open the master image and transform it to generate the slave image
master = np.asarray(Image.open("./resources/examples/sample1.png"))
slave = transform_img(master, transformation)
# 3) Use foureg to recover the transformation
imreg_result = similarity(master, slave)
slave_transformed = transform_img(slave, imreg_result["transformation"])
4) Some plotting to verify everything is working
_, axs = plt.subplots(1, 5, figsize=(13, 8))
im_0 = axs[0].imshow(master)
plt.colorbar(im_0, ax=axs[0])
im_1 = axs[1].imshow(slave)
plt.colorbar(im_1, ax=axs[1])
im_2 = axs[2].imshow(slave_transformed)
plt.colorbar(im_2, ax=axs[2])
im_3 = axs[3].imshow(imreg_result["timg"])
plt.colorbar(im_3, ax=axs[3])
im_4 = axs[4].imshow(np.abs(imreg_result["timg"] - master))
plt.colorbar(im_4, ax=axs[4])
plt.show()
功能
- 图像预处理选项(频率滤波,图像扩展)。
- 揭示了底层选项(迭代,相位相关性滤波)。
- 开源许可(3条款BSD)。
起源故事
这是一个基于 imreg_dft 的分支,出于以下目标:
- 能够以矩阵形式返回最终变换,而不是分别返回角度、平移和缩放因子。原始代码在执行图像变换时进行了一些非常规的调整,这使得获得该矩阵变得非常困难。
- 更好的性能,最终是Pytorch驱动的GPU实现
- 更专注的代码库。这里的唯一目标是估计成对图像之间的相似变换。
致谢
该代码最初由美国加州大学欧文分校的Christoph Gohlke开发,后来由捷克布拉格技术大学的Matěj Týč进一步开发。没有他们,这个仓库将不存在。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
foureg-0.1.0.tar.gz (16.0 kB 查看哈希)
构建分发
foureg-0.1.0-py3-none-any.whl (17.1 kB 查看哈希)
关闭
foureg-0.1.0.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 786b40f7bf06c26689cf869f06d5c2c3a0e6a5c794675f5be63b84ad45e6c121 |
|
MD5 | cc92fdc427561bfeccafaed97fd46aab |
|
BLAKE2b-256 | 72d1711e95ccdc0d291ede1eecddc66a3f134a19fb507e17fabf03529a1713ba |
关闭
foureg-0.1.0-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 268fa27c47d9fdb9d49db1bd70bfff4dbfdb7ceae62e68bf30f2075d97e2fe90 |
|
MD5 | 969682c9227b65049bedad0e0af6c230 |
|
BLAKE2b-256 | e8fd91ec6499690f5c4ca0cb911e425e43540514833a7f8f9bd3cfa26f874edb |