Python-图像拼接神器-stitching

news2024/11/15 11:02:35

多幅图像的拼接

采用这个包,图像拼接结果很好~
代码只需要三四行

import stitching
import cv2


imgs = ["data/test02/1Hill.jpg","data/test02/2Hill.jpg","data/test02/3Hill.jpg",]
stitcher = stitching.Stitcher()
panorma = stitcher.stitch(imgs)
cv2.imshow("after",panorma)
cv2.waitKey(0)

测试图片

图片1
在这里插入图片描述
图片2
在这里插入图片描述
图片3
在这里插入图片描述

拼接后的效果图

图像拼接的效果图:
在这里插入图片描述

其他优点说明

比如:你想将这三张图片拼接在一起,但是在这里面有混入了一张无关的照片,他还是会拼接的很好;
什么意思呢
具体来说:
我把这四张图片放在一起进行拼接
图片1
在这里插入图片描述
图片2
在这里插入图片描述
图片3在这里插入图片描述
图片4
在这里插入图片描述
将以上四张图片一起拼接会发生什么呢?
在这里插入图片描述

这个就是图片拼接后的结果。

代码优化

# 代码优化
#当你有很多图片要读取时,一个个的在img的列表中写文件名称时,比较繁琐
#因此作出此优化改进

import stitching
import cv2
import glob

def read_images(image_paths):
    images = []
    for image_path in image_paths:
        image = cv2.imread(image_path)
        images.append(image)
    return images

# 图片路径列表
image_paths = glob.glob("data/test01/*.jpg")

# 读取图片
images = read_images(image_paths)

# imgs = ["data/test01/1Hill.jpg","data/test01/1.jpg","data/test01/2.jpg","data/test01/3.jpg"]
stitcher = stitching.Stitcher()
panorma = stitcher.stitch(images)
cv2.imshow("after",panorma)
cv2.waitKey(0)
```python

# 完结撒花
![在这里插入图片描述](https://img-blog.csdnimg.cn/80318465378840cc99aa4777f66bcf3d.png)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/964132.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

postgresql-多表连接

postgresql-多表连接 内连接查询左外连接查询右外连接查询全外连接查询交叉连接查询简写 总结 内连接查询 内连接用于返回两个表中匹配的数据行,使用关键字INNER JOIN表示,也可以简写成JOIN; selecte.first_name ,d.department_id fromcps…

无涯教程-JavaScript - POISSON函数

POISSON函数取代了Excel 2010中的POISSON.DIST函数。 描述 该函数返回泊松分布。泊松分布的常见应用是预测特定时间的事件数。 语法 POISSON(x,mean,cumulative)争论 Argument描述Required/OptionalXThe number of events.RequiredMeanThe expected numeric value.Require…

leecode学习(1)

一、题目 给定一个数组nums和一个目标值target,请你再该数组中找出和为目标值的那两个数,并返回数组的下标,你可以假设输入只会对应一个答案,但是数组的同一个元素不能使用两次。 二、解题思路 目的就是要求出两数之和等于目标值嘛。 就是…

探索树堆Treap和红黑树的优势和劣势

探索树堆Treap和红黑树的优势和劣势 一、背景知识二、树堆(Treap)的介绍三、红黑树(RB-Tree)的介绍四、树堆(Treap)与红黑树(RB-Tree)的比较总结 博主简介 💡一个热爱分享…

王道考研数据结构

文章目录 C 环境准备官方文档环境准备在线运行VSCode 环境报错解决 绪论线性表顺序表链表错题 栈、队列和数组栈队列栈的应用之中缀转后缀特殊矩阵用数组压缩存储错题 串模式匹配之暴力和KMP 树与二叉树二叉树树和森林哈夫曼树和哈夫曼编码并查集错题 图图的基本概念图的存储及…

LeetCode494. 目标和

494. 目标和 文章目录 [494. 目标和](https://leetcode.cn/problems/target-sum/)一、题目二、题解方法一:目标和路径计数算法方法二:01背包方法三:01背包一维数组 一、题目 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个…

IPC进程间通信及示例代码

一. 什么是进程通信 进程通信( InterProcess Communication,IPC)就是指进程之间的信息交换。实际上,进程的同步与互斥本质上也是一种进程通信(这也就是待会我们会在进程通信机制中看见信号量和 PV 操作的原因了&#x…

Ubuntu18.04使用Systemback制作系统镜像并还原

系列文章目录 文章目录 系列文章目录前言一、下载Systemback工具二、制作系统镜像到U盘三、安装制作系统 前言 在Ubuntu系统中开发项目时,有时会希望将项目移植到另外一台计算机(如工控机等)上进行部署,通常会在新计算机中安装Ub…

Qt +VTK+Cmake 编译和环境配置(第二篇,中级篇, 重新编译)

1.下载VTK和Cmake 这里不介绍了。我的VTK 8.2.0 cmake 3.27.4 就是不服这编译器了。重新来一次 打开Cmake,把VTK源文件路径和目标路径设置一下(目标路径自己设置,随意) 点击Configure:。 点击下一步 选择好 Qt的gcc…

国际版阿里云/腾讯云:弹性高性能计算E-HPC入门概述

入门概述 本文介绍E-HPC的运用流程,帮助您快速上手运用弹性高性能核算。 下文以创立集群,在集群中安装GROMACS软件并运转水分子算例进行高性能核算为例,介绍弹性高性能核算的运用流程,帮助您快速上手运用弹性高性能核算。运用流程…

selenium 自动化测试——环境搭建

安装python,并且使用pip命令安装 selenium pip3 install selenium 然后尝试第一次使用selenium 完成一个简单的测试自动化脚本 from selenium import webdriver from selenium.webdriver.common.by import By import timedriver webdriver.Chrome() driver.get(…

A 股个股资金流排行 API 数据接口

A 股个股资金流排行 API 数据接口 全量股票资金流排名,多时间区间,全量A股数据。 1. 产品功能 支持所有A股资金流数据查询;每日定时更新数据;支持多时间段查询;超高的查询效率,数据秒级返回;数…

【问大家】电商问答数据的采集与深度分析

1. 引言 电商运营多年,功能越来越完善,我们发现当您购买过该商品之后,在消息-互动这里会看到别的网友提问的有关该商品的问题,这个功能叫问大家。 问大家模块可以说填补了宝贝评价部分的短板,评价部分单向传播属性较…

CSS中你不得不知道的css优先级

在我们定义css样式时,经常出现两个或更多规则应用在同一元素上,这时就会出现优先级的问题。其实css为每一种基础选择器都分配了一个权重。 我们简化理解: CSS权重计算: 最顶层:!important 权重值:…

【Django】让SQLite数据库中表名支持重命名的方法

修改了数据库表名之后&#xff0c;更新数据库时跳错&#xff1a; django.db.utils.NotSupportedError: Renaming the japi_api_info table while in a transaction is not supported on SQLite < 3.26 because it would break referential integrity. Try adding atomic F…

无涯教程-JavaScript - PERCENTILE函数

PERCENTILE函数替代Excel 2010中的PERCENTILE.INC函数。 描述 该函数返回范围中值的第k个百分位数。您可以使用此功能建立接受阈值。 语法 PERCENTILE (array,k)争论 Argument描述Required/OptionalArrayThe array or range of data that defines relative standing.Requi…

230920-部署Gradio到已有FastAPI及服务器中

1. 官方例子 run.py from fastapi import FastAPI import gradio as grCUSTOM_PATH "/gradio"app FastAPI()app.get("/") def read_main():return {"message": "This is your main app"}io gr.Interface(lambda x: "Hello, …

37. 交换字符(第三期模拟笔试)

题目&#xff1a; 给定一个01串&#xff08;仅由字符0和字符1构成的字符串&#xff09;。每次操作可以交换两个相邻的字符。 例如&#xff1a;对于字符串"001110"来说&#xff0c; 可以交换第二个字符0和第三个字符1&#xff0c;交换之后的字符串变成了"0101…

十、MySQL(DQL)条件查询

1、基础语法&#xff1a; select 字段列表 from 表名 where 条件列表; 2、实际操作&#xff1a; &#xff08;1&#xff09;初始化表格 &#xff08;2&#xff09;查询number大于444的员工 -- 查询number大于444的员工 select * from things where number>444; &#xff…

解决 filezilla 连接服务器失败问题

问题描述&#xff1a; 开始一直用的 XFTP 后来&#xff0c;它变成收费软件了&#xff0c;所以使用filezilla 代替 XFTP 之前用的还好好的&#xff0c;今天突然就报错了&#xff1a;按要求输入相关字段&#xff0c;连接 连接失败&#xff01;&#xff01;&#xff01;o(╥﹏╥…