图像对齐的基本介绍

什么是图像对齐 图像对齐(image alignment)又称图像配准(image registration),是一种通过单独变换一张图像或同时两张图像使两张图像上对应的特征点重合的方法。 如何实现图像对齐 寻找两张图像上的对应点; 基于对应点得到两张图像之间的单应性矩阵(homography)。 基于 OpenCV Python 的具体实现 import cv2 import matplotlib.pyplot as plt img1 = cv2.imread('img1.jpg') img1 = cv2.cvtColor(img1, cv2.COLOR_BGR2RGB) img2 = cv2.imread('img2.jpg') img2 = cv2.cvtColor(img2, cv2.COLOR_BGR2RGB) plt.figure() fig, axes = plt.subplots(1, 2) axes[0].imshow(img1) axes[0].set_axis_off() axes[1].imshow(img2) axes[1].set_axis_off() fig.tight_layout() 使用ORB检测图像中的特征点,特征点的数量设置为500。 MAX_FEATURES = 500 orb = cv2.ORB_create(MAX_FEATURES) keypoints1, descriptors1 = orb.detectAndCompute(img1, None) keypoints2, descriptors2 = orb.detectAndCompute(img2, None) matcher = cv2.DescriptorMatcher_create(cv2.DESCRIPTOR_MATCHER_BRUTEFORCE_HAMMING) 根据特征点的匹配度,保留一部分较好的特征点,保留的比例为0.1。 GOOD_MATCH_PERCENT = 0.1 matches = list(matcher.match(descriptors1, descriptors2, None)) matches....

February 4, 2024

使用 Python 的 JSON 模块序列化时所遇到的问题

问题 使用 Python 的 JSON 模块序列化含有 UTF-8 编码的数据,得到的字符串输出不可读。 import json data = { '键': '值' } json.dumps(data) 输出: '{"\\u952e": "\\u503c"}' 解决方法 将 dumps 的参数 ensure_ascii 设为 False 即可得到可读的字符串输出。 json.dumps(data, ensure_ascii=False) 输出: '{"键": "值"}' 原因 Python 3 文档 解释: If ensure_ascii is true (the default), the output is guaranteed to have all incoming non-ASCII characters escaped. If ensure_ascii is false, these characters will be output as-is. 即 Python 在序列化 JSON 时,默认仅使用 ASCII 编码来完成输出。对于汉字等非 ASCII 编码的字符,Python 会将其转义。...

December 26, 2023

使用 Hugo 和 Github Actions 构建 Github Pages

Hugo Hugo 是一个可以快速构建静态网站的框架,我们可以参考 Quick Start | Hugo 来快速上手 Hugo。 安装 Hugo Hugo 官方文档推荐使用包管理器来安装 Hugo。 在 macOS 下,我们一般使用 Homebrew 包管理器。 brew install hugo 在 Windows 下,我们可以使用 Chocolatey、Scoop 等包管理器来安装 Hugo。 安装完成后,我们可以在终端执行 hugo 命令。 hugo version 使用 Hugo 创建网站 通过执行以下命令,我们将在当前路径下创建 hugo-blog 文件夹,文件夹中包含新创建的网站代码。 hugo new site hugo-blog 为网站添加主题 我们可以在 themes.gohugo.io 网站上选择适用于 Hugo 框架的博客主题,本站使用的是 Hugo PaperMod 主题,主题文件存放在 hugo-blog 文件夹中的 theme/hugo-PaperMod-6.0 路径下。我们可以直接下载主题文件,也可以使用 git submodule add 命令添加主题文件的 git repo。 然后,我们需要在 config 文件中添加对网站主题的设置。 echo "theme = 'hugo-PaperMod-6.0'" >> config....

September 21, 2022