拼接不同文件夹中同名图片的方法

有时候为了方便对比不同文件夹中同名图片,需要拼接在一起,这里提供一个拼接方法,当然不同命文件也可以实现拼接,稍微改改就能实现

如下图,在文件夹中有五个文件夹中的图片需要拼接,拼接后的图片存放在img_hebing

代码如下,为了隐去了一些项目私密信息

import warnings
warnings.filterwarnings('ignore')
import matplotlib.pyplot as plt
from matplotlib import cm as CM
import matplotlib.gridspec as gridspec
import os
import glob
import numpy as np
import scipy.io as scio
from scipy.io import loadmat
from PIL import Image; import cv2
import torch
from torchvision import transformsDATA_PATH = f"D:/TEST/image_test/"img_path1 = glob.glob(os.path.join(DATA_PATH, "four_visualization_1", "*.png"))  
img_path2 = glob.glob(os.path.join(DATA_PATH, "four_visualization_2", "*.png"))  
img_path3 = glob.glob(os.path.join(DATA_PATH, "four_visualization_3", "*.png"))  
img_path4 = glob.glob(os.path.join(DATA_PATH, "four_visualization_4", "*.png"))  
img_path5 = glob.glob(os.path.join(DATA_PATH, "four_visualization_5", "*.png")) 
save_path = f'D:/TEST/image_test/img_hebing'
img_path1.sort()
img_path2.sort()
img_path3.sort()
img_path3.sort()
img_path5.sort()
for idx in range(0, len(img_path3)):img_path = img_path3[idx]filename = img_path.split('/')[-1].split('\\')[-1].split('.')[0].split('_')[2:-1]filename = '_'.join(filename)  # 文件名# 读取图像img1 = cv2.imread(img_path1[idx])img2 = cv2.imread(img_path2[idx])    img3 = cv2.imread(img_path3[idx])img4 = cv2.imread(img_path4[idx])img5 = cv2.imread(img_path5[idx])# 获取图像高度和宽度height0, width0 = img1.shape[:2]height1, width1 = img2.shape[:2]height2, width2 = img3.shape[:2]height3, width3 = img4.shape[:2]    height4, width4 = img5.shape[:2]# 获取最宽宽度max_width = max(width0, width1, width2, width3, width4)# 计算放大倍率scaling_factor0 = max_width / width0scaling_factor1 = max_width / width1scaling_factor2 = max_width / width2scaling_factor3 = max_width / width3scaling_factor4 = max_width / width4# 调整图像大小并进行比例放大image0_resized = cv2.resize(img1, (max_width, int(height0 * scaling_factor0)))image1_resized = cv2.resize(img2, (max_width, int(height1 * scaling_factor1)))image2_resized = cv2.resize(img3, (max_width, int(height2 * scaling_factor2)))image3_resized = cv2.resize(img4, (max_width, int(height3 * scaling_factor3)))    image4_resized = cv2.resize(img5, (max_width, int(height4 * scaling_factor4)))# 拼接combined_iamge = np.vstack((image4_resized, image2_resized, image3_resized, image0_resized, image1_resized))# 安装路径保存cv2.imwrite(os.path.join(save_path, "{}.png".format(filename)), combined_iamge)

拼接好的图像示例如下,当然这是垂直拼接,要是水平拼接,换一下hastack函数,放大倍率换成高度对比就好了

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

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

相关文章

Spark RDD的转换

按颜色区分转换: 绿色是单 RDD 窄依赖转换黑色是多 RDD 窄依赖转换紫色是 KV 洗牌型转换黄色是重分区转换蓝色是特例的转换 单 RDD 窄依赖转换 MapPartitionRDD 这个 RDD 在第一次分析中已经分析过。简单复述一下: 依赖列表:一个窄依赖&…

日历管理:应对金融服务行业数据调度的复杂挑战

在当今快速发展的金融服务行业中,数据管理和调度的复杂性日益增加。在金融服务公司面临着多元化的挑战,这些挑战不仅涉及技术层面,还包括安全、运维和业务流程的优化。 日历管理在工作流调度中看似是一个较小的功能,但对于许多企业…

信息学奥赛一本通 1014:与圆相关的计算C语言非C++

1014&#xff1a;与圆相关的计算 #include <stdio.h>int main() {// 声明并定义圆周率为常量&#xff0c;其值为3.14159const double PI 3.14159;// 声明一个双精度浮点数变量double r;// 从输入读取一个值并赋给rscanf("%lf", &r);// 计算并打印圆的直径…

cmake的下载及安装

文章目录 下载安装 下载 cmake官网下载 进入 v3.22版本目录下。或者直接点击https://cmake.org/files/v3.22/进入&#xff0c;省略上面的步骤 浏览器上下载太慢&#xff0c;这里选择在Linux上通过wget方式下&#xff0c;不过下载速度也不是它快。主要是软件所在的服务器在国…

数据质量管理软件行业分析:2023年复合增长率达到31.9%

数据质量管理软件按照一般的功能模块划分可以划分为产品信息管理、存货管理、销售管理、采购管理、生产管理、设备管理、实验室管理、品质管理、售后管理等模块&#xff0c;质量管理绝非仅仅检验&#xff0c;或者常说的批检、巡检、首检、自检等&#xff0c;质量管理是对只要影…

Linux内核参数配置说明

Linux内核参数配置说明 一、引言 Linux内核参数是操作系统运行过程中的重要配置&#xff0c;它们决定了系统资源的管理方式、性能优化以及系统安全等方面的特性。本文将详细介绍Linux内核参数的配置说明&#xff0c;并给出CentOS 7推荐的内核参数设置。 二、Linux内核参数概…

串行计时芯片D1380/D1381,2.0V~5.5V 工作电流: 2V时 与TTL 兼容,采用DIP8、SOP8封装

D1380/D1381是一个带秒、分、时、日、日期、月、年的串行时钟保持芯片,每个月多少天以及闰年能自动调节, D1380/D1381低功耗工作方式, D1380/D1381用若干寄存器存储对应信息&#xff0c;一个32.768kHz 的晶振校准时钟&#xff0c;为了使用最小弓|脚&#xff0c;D1380/D1381使用…

论文润色会被认为是代写吗知乎 神码ai

大家好&#xff0c;今天来聊聊论文润色会被认为是代写吗知乎&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff1a; 标题&#xff1a;论文润色会被认为是代写吗――探讨论文润色与代写的关系 一、引言 在学术研…

微信小程序uni-app:常用Form表单组件input、textarea、picker使用示例

目录 input 输入框textarea多行输入框picker 选择器 input 输入框 https://developers.weixin.qq.com/miniprogram/dev/component/input.htmlhttps://uniapp.dcloud.net.cn/component/input.html <inputclass"input-class"type"text"v-model"val…

bugku -- 网站被黑--本地管理员

dirsearch 或者御剑扫目录 扫出来有个登录页面 然后bp抓包爆破密码 扫出来密码是heck登录就行了 构造x-forwarded-for:127.0.0.1 本地登录&#xff1a; 爆破账号 密码是text123 下面的base64解码可以知道

java swing 药品销售系统 mysql

数据库 查询药品&#xff1a; 出售药品&#xff1a; 查询客户信息&#xff1a; 查询订单信息&#xff1a;

3.Pandas高级函数应用

import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt # plt.style.use("bmh") plt.rc(font, familySimHei, size13) %matplotlib inlineimport warnings warnings.filterwarnings(ignore)pd.__version__2.1.11.1 函数应用…

【算法Hot100系列】两数相加

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

如何用ChatGPT分析恶意软件?

自从我们进入数字化时代以来&#xff0c;恶意软件就一直是计算机应用系统的“心腹大患”。事实上&#xff0c;每一次技术进步都会为恶意行为者提供更多的工具&#xff0c;使得他们的攻击行为更具破坏性。不过&#xff0c;如今生成式人工智能的崛起&#xff0c;似乎让一直以来的…

2023年【G3锅炉水处理】找解析及G3锅炉水处理模拟考试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 G3锅炉水处理找解析根据新G3锅炉水处理考试大纲要求&#xff0c;安全生产模拟考试一点通将G3锅炉水处理模拟考试试题进行汇编&#xff0c;组成一套G3锅炉水处理全真模拟考试试题&#xff0c;学员可通过G3锅炉水处理模…

【网络】简单聊一下 TIME_WAIT

问题背景 笔者在看自己服务状态数据的时候&#xff0c;会发现有很多 tcp 的连接&#xff0c;也会发现有很多处于不同状态下的 tcp 连接&#xff0c;TIME_WAIT 的连接数有83个&#xff0c;为了弄清楚这个 TIME_WAIT 是什么&#xff0c;整理了下面的笔记用于梳理概念 基础流程…

rocketmq window测试小Demo 解决找不到或无法加载主类的问题

文章目录 rocketMQ启动1.下在相关的二进制文件2.配置环境变量3.启动NameServer4.启动broker5. MQ 启动&#xff01;5.1 测试发送数据 6.关闭服务 rocketMQ启动 1.下在相关的二进制文件 下载地址&#xff0c;点击即达 2.配置环境变量 3.启动NameServer 在文件夹下执行cmd进…

vue项目 实现 vue-schart 图表 resize

项目中之前用了 vue-schart&#xff08;项目已经没人维护&#xff0c;很久不更新了&#xff09; GitHub - lin-xin/vue-schart: :bar_chart: Vue.js wrapper for sChart.js 没有resize功能&#xff0c;又不想修改源码&#xff0c;可以参考下边的方法实现&#xff1a; <tem…

Redis7--基础篇9(SpringBoot集成Redis)

1. jedis、lettuce、Redistemplate的关系 第一代为jedis&#xff0c;之后推出了lettuce&#xff0c;然后springboot继承了Redistemplate&#xff0c;现推荐使用Redistemplate。 总的来说&#xff0c;jedis、lettuce、Redistemplate都是java操作Redis数据库的驱动。 2. 本地Ja…

【精选小tips】Microsoft Edge最新版本关闭侧边栏快捷键

相信有很多小伙伴并不习惯使用Edge浏览器的侧边栏功能&#xff0c;感觉有点突兀&#xff0c;平时使用率又不是很高&#xff0c;想要将其关闭&#xff0c;但是&#xff01;&#xff01;&#xff01;Edge浏览器自动更新到120.0.2210.61版本后&#xff0c;居然在设置中之间没有了关…