利用Python把四张图片按照顺序拼接起来

一、需求:

给出四张图片,按照一定的顺序拼接起来

二、图片:

左上角:(像素512*512)

右上角:(像素284*512)

左下角:(像素284*512)

右下角:(像素284*284)

三、代码及说明:

import skimage.io as io
import numpy as np# 上面左右拼接
jzg = io.imread(r"C:\Users\dyrs\Desktop\aaa\l1_b_1_1.jpg")   # np.ndarray, [h, w, c], 值域(0, 255), RGB
lgz = io.imread(r"C:\Users\dyrs\Desktop\aaa\l1_b_1_2.jpg")   # np.ndarray, [h, w, c], 值域(0, 255), RGB
pj1 = np.zeros((512,512 + 284,3))   #横向拼接
pj1[:,:512,:] = jzg.copy()   #图片jzg在左
pj1[:,512:,:] = lgz.copy()   #图片lgz在右
pj1=np.array(pj1,dtype=np.uint8)   #将pj1数组元素数据类型的改为"uint8"
io.imsave('pj1.jpg', pj1)   #保存拼接后的图片# 下面左右拼接
jzg2 = io.imread(r"C:\Users\dyrs\Desktop\aaa\l1_b_2_1.jpg")   # np.ndarray, [h, w, c], 值域(0, 255), RGB
lgz2 = io.imread(r"C:\Users\dyrs\Desktop\aaa\l1_b_2_2.jpg")   # np.ndarray, [h, w, c], 值域(0, 255), RGB
pj2 = np.zeros((284,512 + 284,3))   #横向拼接
pj2[:,:512,:] = jzg2.copy()   #图片jzg2在左
pj2[:,512:,:] = lgz2.copy()   #图片lgz2在右
pj2=np.array(pj2,dtype=np.uint8)   #将pj2数组元素数据类型的改为"uint8"
io.imsave('pj2.jpg', pj2)   #保存拼接后的图片# 上面与下面拼接
uzg = io.imread('pj1.jpg')   # np.ndarray, [h, w, c], 值域(0, 255), RGB
dgz = io.imread('pj2.jpg')   # np.ndarray, [h, w, c], 值域(0, 255), RGB
pj = np.zeros((512 + 284,796,3))   #竖向拼接
pj[:512,:,:] = uzg.copy()   #图片jzg在左
pj[512:,:,:] = dgz.copy()   #图片lgz在右
pj=np.array(pj,dtype=np.uint8)   #将pj数组元素数据类型的改为"uint8"
io.imsave('pj.jpg', pj)   #保存拼接后的图片

四、结果:

 

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

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

相关文章

Linux:文件创建时间如何修改?

一、需求 修改文件创建时间 二、知识及方法步骤 touch命令用于创建空白文件或修改文件时间。 在Linux系统中一个文件有三种时间: 更改内容的时间 - mtime:当文件进行被写的时候,CTime就会更新更改权限的时间 - ctime:当文件的…

小案例:编写立方体六个面,合成一张全景图后端

一、需求: 给出立方体六个面,合成一张全景图 二、主要知识:py360convert 2.1、该项目的特点: 立方体贴图和等矩形之间的转换 等角于平面 纯python实现,仅依赖于numpy和scipy矢量化实施(在大多数地…

LeetCode 1721. 交换链表中的节点(快慢指针)

文章目录1. 题目2. 解题1. 题目 给你链表的头节点 head 和一个整数 k 。 交换 链表正数第 k 个节点和倒数第 k 个节点的值后,返回链表的头节点(链表 从 1 开始索引)。 示例 1: 输入:head [1,2,3,4,5], k 2 输出&am…

爬虫小案例:基于Bing关键词批量下载图片

一、需求: 基于Bing网站,输入关键词,批量下载图片保存到本地 二、演示: 三、直接上代码 import os import urllib.request import urllib.parse from bs4 import BeautifulSoup import re import time# 设置请求头 header {Us…

LeetCode 1722. 执行交换操作后的最小汉明距离(并查集)

文章目录1. 题目2. 解题1. 题目 给你两个整数数组 source 和 target ,长度都是 n 。 还有一个数组 allowedSwaps ,其中每个 allowedSwaps[i] [ai, bi] 表示你可以交换数组 source 中下标为 ai 和 bi(下标从 0 开始)的两个元素。…

线性表的顺序表示和实现

/* 顺序表存储结构容易实现随机存取线性表的第i 个数据元素的操作,但在实现插入、 删除的操作时要移动大量数据元素,所以,它适用于数据相对稳定的线性表,如职工工资 表、学生学籍表等。 c2-1.h 是动态分配的顺序表存储结构&#x…

LeetCode 1723. 完成所有工作的最短时间(DFS+剪枝 / 状态压缩DP)

文章目录1. 题目2. 解题2.1 DFS2.2 状态压缩DP265 / 3871, 前6.85% 前3题题解: LeetCode 5649. 解码异或后的数组(位运算)LeetCode 5652. 交换链表中的节点(快慢指针)LeetCode 5650. 执行交换操作后的最小…

win7优化设置_5项优化,至少提升20%!

Win7系统已经接近落幕的尾声了,不知大家是否早已做好准备了呢?很多朋友说win7不如win10好用,但马克思主义说到“新事物必将会取代旧事物”,也没必要一直坚守着win7的战线啦。自电脑升级了之后,便对win10系统进行了一些…

python实现两张图片横向和纵向拼接

本文实例为大家分享了python实现图片横向和纵向拼接的具体代码, 这里主要用Python扩展库pillow中Image对象的paste()方法把两张图片拼接起来供大家参考,具体内容如下: 一、代码: from PIL import Imagedef join(png1, png2, fl…

LeetCode 1203. 项目管理(两次拓扑排序)

文章目录1. 题目2. 解题1. 题目 公司共有 n 个项目和 m 个小组,每个项目要不无人接手,要不就由 m 个小组之一负责。 group[i] 表示第 i 个项目所属的小组,如果这个项目目前无人接手,那么 group[i] 就等于 -1。(项目和…

BZOJ K大数查询(分治)(Zjoi2013)

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id3110 Description 有N个位置,M个操作。操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c如果是2 a b c形式,表示询…

为什么电脑不能打字_为什么不能用电脑验光仪测出来的度数直接配眼镜?

当今世界,科学技术爆炸式发展和进步,很多人问我:“电脑验光仪的准确度越来越高,会不会取代人工验光师?”我们这代人从小听着学着“科学技术是第一生产力”长大的,自然是技术崇拜者,自然的反应当…

前端DEMO:网络上流行的抖音罗盘

一、效果: 二、关于代码: CSS/demo.css代码: * {margin: 0;padding: 0; } html, body {width: 100%;height: 100%;background-color: black;overflow: hidden; } #clock {position: relative;width: 100%;height: 100%;background: black; }…

[Kaggle] Sentiment Analysis on Movie Reviews(BERT)

文章目录1. 预训练模型下载2. 数据集3. 加载预训练模型4. 提交结果练习地址:https://www.kaggle.com/c/sentiment-analysis-on-movie-reviews 相关博文: [Kaggle] Spam/Ham Email Classification 垃圾邮件分类(BERT) 本文使用 hu…

Qt利用avilib实现录屏功能_openlayers6结合geoserver利用WFS服务实现图层编辑功能(附源码下载)...

内容概览1.openlayers6结合geoserver利用WFS服务实现图层编辑功能2.源代码demo下载效果图如下:本篇主要是参照openlayers6结合geoserver利用WFS服务实现图层新增功能(附源码下载)基础上实现的,openlayers6通过调用geoserver发布的地图服务WFS来达到图层编…

LeetCode DD-2020006. 简单游戏(前缀和)

文章目录1. 题目2. 解题1. 题目 给出一个长度为 n 的数组 a&#xff0c;你需要在这个数组中找到一个长度至少为 m 的区间&#xff0c;使得这个区间内的数字的和尽可能小。 输入描述: 第一行包含一个正整数 n&#xff0c;m,表示数组的大小和所选区间的最小长度。(1<n<1…

【转载】OpenStack Swift学习笔记

免责声明&#xff1a; 本文转自网络文章&#xff0c;转载此文章仅为个人收藏&#xff0c;分享知识&#xff0c;如有侵权&#xff0c;请联系博主进行删除。 原文作者&#xff1a;崔炳华 原文地址&#xff1a;http://blog.csdn.net/i_chips/article/details/17787017 1 概…

Android Studio 选项菜单和动画结合_Android 应用与iOS 应用之间的设计差异对比!

同一个App&#xff0c;为什么iOS 和Android 的交互操作有那么大的区别&#xff1f;本文将用大量原生设计案例&#xff0c;为你一一说明它们为什么应该这样做&#xff0c;赶紧学起来&#xff01;了解并适当结合平台规范与优势&#xff0c;才能做到最佳的用户体验。为了创建最佳的…

图片操作案例:python 批量更改图像尺寸到统一大小的方法

一、需求&#xff1a; 批量修改该图片长与宽尺寸 二、素材&#xff1a; 三、代码&#xff1a; from PIL import Image import os.path import globdef convertjpg(jpgfile,outdir,width512,height512):imgImage.open(jpgfile)try:new_imgimg.resize((width,height),Image.BI…

LeetCode 753. 破解保险箱(DFS)

文章目录1. 题目2. 解题1. 题目 有一个需要密码才能打开的保险箱。 密码是 n 位数, 密码的每一位是 k 位序列 0, 1, …, k-1 中的一个 。 你可以随意输入密码&#xff0c;保险箱会自动记住最后 n 位输入&#xff0c;如果匹配&#xff0c;则能够打开保险箱。 举个例子&#x…