返回顶部
首页 > 资讯 > 后端开发 > Python >pytho多张图片的无损拼接的实现示例
  • 492
分享到

pytho多张图片的无损拼接的实现示例

2024-04-02 19:04:59 492人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录导入 python 库查看需要拼接的图片横向拼接保存拼接后的图片总结纵向拼接图片间距导入 Python 库 import matplotlib.pyplot as plt i

导入 Python


import matplotlib.pyplot as plt
import skimage.io as io
import numpy as np

查看需要拼接的图片

因为工作需要,所以就不使用昨天晚上的图片了。
我就拿了两张截图作为示例演示。

首先看看拼接前的图片是什么样子:


jzg = io.imread('jzg.jpg')   # np.ndarray, [h, w, c], 值域[0, 255], RGB
plt.imshow(jzg)   #查看图片
plt.show()

解释说明:“jzg”保存的是numpy的数组

jzg


lgz = io.imread('lgz.jpg')   # np.ndarray, [h, w, c], 值域[0, 255], RGB
plt.imshow(lgz)
plt.show()

lgz

因为我使用的是 jupyter Notebook,所以图片显示的不是太清晰。

查看一下图片的大小和数组元素的数据类型。


print(jzg.shape)   #查看图片的大小
print(jzg.dtype)   #查看数组元素数据类型
print(lgz.shape)
print(lgz.dtype)

输出:

(720, 1280, 3)
uint8
(720, 1280, 3)
uint8

(720, 1280, 3)表示的是数组的大小,物理意义为[h, w, c],分别是图片的高度h,图片的宽度w,图片的通道数c。

可以看出两者的大小完全一致,数组元素的数据类型为“uint8”。

查看数组中元素的值域:


print([jzg.min(), jzg.max()])

输出:

[0, 255]

横向拼接

创建拼接用的数组:


pj1 = np.zeros((720,1280 + 1280,3))   #横着拼接
pj1[:,:1280,:] = jzg.copy()   #图片jzg在左
pj1[:,1280:,:] = lgz.copy()   #图片lgz在右
print(pj1.dtype)   #查看数组元素类型

输出:

float64

可以看出拼接后的数据类型不一样了,所以要改一下,不然显示的就是错误的。


pj1=np.array(pj1,dtype=np.uint8)   #将pj1数组元素数据类型的改为"uint8"
plt.imshow(pj1)   #查看拼接情况
plt.show()

拼接后的图片

保存拼接后的图片

将拼接后的图片保存在当前目录下,也可以改为其它的路径。


io.imsave('pj1.jpg', pj1)   #保存拼接后的图片

总结

横向拼接的代码总结如下:


import matplotlib.pyplot as plt
import skimage.io as io
import numpy as np

jzg = io.imread('jzg.jpg')   # np.ndarray, [h, w, c], 值域(0, 255), RGB
plt.imshow(jzg)   #查看图片
plt.show()

lgz = io.imread('lgz.jpg')   # np.ndarray, [h, w, c], 值域(0, 255), RGB
plt.imshow(lgz)
plt.show()

print(jzg.shape)   #查看图片的大小
print(jzg.dtype)   #查看数组元素数据类型
print(lgz.shape)
print(lgz.dtype)

pj1 = np.zeros((720,1280 + 1280,3))   #横向拼接
pj1[:,:1280,:] = jzg.copy()   #图片jzg在左
pj1[:,1280:,:] = lgz.copy()   #图片lgz在右
print(pj1.dtype)   #查看数组元素类型

pj1=np.array(pj1,dtype=np.uint8)   #将pj1数组元素数据类型的改为"uint8"

plt.imshow(pj1)   #查看拼接情况
plt.show()

io.imsave('pj1.jpg', pj1)   #保存拼接后的图片

纵向拼接

当然,可以横向拼接自然也可以纵向拼接,只需将拼接用的数组改为如下:


pj2 = np.zeros((720 + 720,1280,3))   #横向拼接

将拼接操作改为:


pj1[:720,:,:] = jzg.copy()   #图片jzg在上
pj1[720:,:,:] = lgz.copy()   #图片lgz在下

然后其他步骤都一样。

图片间距

有些时候要求要有缝拼接,这时候就将拼接用的数组横向或纵向变大,空白区域使用“0”或者“255”填充(我不知道“0”和“255”中,哪个代表白色,哪个代表黑色,需要的就自己去实验或者查询一下)。

到此这篇关于pytho多张图片的无损拼接的实现示例的文章就介绍到这了,更多相关pytho图片无损拼接内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: pytho多张图片的无损拼接的实现示例

本文链接: https://lsjlt.com/news/131163.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • pytho多张图片的无损拼接的实现示例
    目录导入 python 库查看需要拼接的图片横向拼接保存拼接后的图片总结纵向拼接图片间距导入 python 库 import matplotlib.pyplot as plt i...
    99+
    2024-04-02
  • python怎么实现多张图片的无损拼接
    本篇内容主要讲解“python怎么实现多张图片的无损拼接”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么实现多张图片的无损拼接”吧!目录导入 python 库查看需要拼接的图片横向...
    99+
    2023-06-20
  • Python实现无损放大图片的示例代码
    今天做一个超简单的无损放大图片的程序,原理很简单 JPG原理:读取原图片的像素点的RGB颜色值并保存到文件内,然后将原图进行翻倍放大,在放大的图上进行绘制,绘制一个像素的翻倍大小,一...
    99+
    2024-04-02
  • C#实现无损压缩图片代码示例
    一般在web应用中,对客户端提交上来的图片肯定需要进行压缩的。尤其是比较大的图片,如果不经过压缩会导致页面变的很大,打开速度比较慢,影响用户体验,所以一般会将图片进行压缩。 代码实现...
    99+
    2024-04-02
  • PHP实现多张图片上传功能的示例代码
    首先要知道这个函数 move_uploaded_file(); 接下来是我们的input框,和我们的html页面 这里我们是增加的input框我们也可以写写一个属性  &...
    99+
    2024-04-02
  • OpenCV-Python 实现两张图片自动拼接成全景图
    目录背景介绍基本原理具体实现寻找相似点图片拼接Reference背景介绍 图片的全景拼接如今已不再稀奇,现在的智能摄像机和手机摄像头基本都带有图片自动全景拼接的功能,但是一般都会要求...
    99+
    2024-04-02
  • Python实现合并多张图片成视频的示例详解
    目录合并多张图片到视频的方法说明moviepy 将多张图片合成视频导入所需模块创建 ImageSequenceClip 对象保存视频moviepy 合成多张图片更多配置名词解释FFm...
    99+
    2023-02-01
    Python合并图片成视频 Python合并图片 Python 图片 视频
  • OpenCV全景图像拼接的实现示例
    本文主要介绍了OpenCV全景图像拼接的实现示例,分享给大家,具体如下: left_01.jpg right_01.jpg Stitcher.py import numpy ...
    99+
    2024-04-02
  • PyQt5实现多张图片显示并滚动
    最近要做个网页图片批量下载工具,然后需要一个页面显示网页上的所有图片供用户勾选,再根据勾选的内容来下载指定图片,其中就涉及到要到同时显示多张图片。 单页面显示多张图片 习惯性的用Gr...
    99+
    2024-04-02
  • 微信小程序拼接图片链接无底洞的示例分析
    这篇文章主要为大家展示了“微信小程序拼接图片链接无底洞的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序拼接图片链接无底洞的示例分析”这篇文章吧...
    99+
    2024-04-02
  • OpenCV-Python怎么实现两张图片自动拼接成全景图
    这篇文章给大家分享的是有关OpenCV-Python怎么实现两张图片自动拼接成全景图的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。背景介绍图片的全景拼接如今已不再稀奇,现在的智能摄像机和手机摄像头基本都带有图片自...
    99+
    2023-06-15
  • MySQL多个字段拼接去重的实现示例
    目录什么是多个字段拼接去重使用mysql进行多个字段拼接去重创建测试表使用GROUP_CONCAT函数进行拼接使用CONCAT_WS函数进行拼接去除重复的拼接结果总结在MySQL中,我们经常会遇到需要将多个字段进行拼接并...
    99+
    2024-01-29
    MySQL字段拼接去重 MySQL拼接去重
  • PyQt5如何实现多张图片显示并滚动
    这篇文章主要为大家展示了“PyQt5如何实现多张图片显示并滚动”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PyQt5如何实现多张图片显示并滚动”这篇文章吧。单页面显示多张图片习惯性的用Grid...
    99+
    2023-06-15
  • canvas怎么实现多张图片编辑的图片编辑器
    这篇文章将为大家详细讲解有关canvas怎么实现多张图片编辑的图片编辑器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。图片编辑器产品需求先说需求,由于涉及到实际公司的项目开发,满足需求的图片编辑器可能只是...
    99+
    2023-06-09
  • go实现图片拼接与文字书写的方法实例
    目录零:背景一:图片拼接1.1 图片拼接代码1.2 从本地、网络读取图片二:文字书写总结零:背景 这是我工作中实际碰到的后端生成图片拼接和文字贴图需求。特此总结下来,方便后人。文中代...
    99+
    2024-04-02
  • Python 多张图片合并成一个pdf的参考示例
    目录过程拍照用到的Python 操作库Python遍历文件夹获取图片旋转图片展示方向并压缩像素整体代码整体代码将脚本打包成exe安装 PyInstaller打包脚本总结过程 拿到一个需求最重要的就是将大块...
    99+
    2022-06-02
    python 图片合成 python 合成pdf
  • Android播放多张图片形成的一个动画示例
    本文实例讲述了Android播放多张图片形成的一个动画。分享给大家供大家参考,具体如下: 在Android里可以逐帧的播放图片,然后产生一种动态的效果,准备好几张连续的图片,然...
    99+
    2022-06-06
    示例 图片 动画 Android
  • css如何实现多张图片横向居中显示
    这篇文章将为大家详细讲解有关css如何实现多张图片横向居中显示,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码实现HTML部分   <div class=&...
    99+
    2023-06-08
  • Shell 字符串拼接的实现示例
    1. 字符串声明 概述 字符串的基本操作 脚本 1 # 声明字符串 str01="str01" echo ${str01} # 单引号也可以 # 不过后面的例子, 通常是用 双引号, 具体原因, 以后会解...
    99+
    2022-06-04
    Shell 字符串拼接
  • Java实现无损Word转PDF的示例代码
    目录前言word转pdf实现思路项目远程仓库Maven项目pom文件依赖核心代码实现结果分析前言 本来想写word转pdf和pdf转word的代码呢,没想到word转pdf就写了很多...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作