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

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

如下图,在文件夹中有五个文件夹中的图片需要拼接,拼接后的图片存放在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 在第一次分析中已经分析过。简单复述一下: 依赖列表:一个窄依赖&…

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

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

cmake的下载及安装

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

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

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

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

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

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

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

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

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

java swing 药品销售系统 mysql

数据库 查询药品: 出售药品: 查询客户信息: 查询订单信息:

【算法Hot100系列】两数相加

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

如何用ChatGPT分析恶意软件?

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

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

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

【网络】简单聊一下 TIME_WAIT

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

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

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

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

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

深度学习(六):paddleOCR理解及识别手写体,手写公式,表格

1.介绍 1.1 什么是OCR? 光学字符识别(Optical Character Recognition, OCR),ORC是指对包含文本资料的图像文件进行分析识别处理,获取文字及版面信息的技术,检测图像中的文本资料,并且识别出文本的内容。…

一键删除TXT文本符号,高效批量处理,轻松提升工作效率!

你是否经常处理大量的TXT文本文件,但其中充满了各种符号和不需要的字符?这不仅影响文本的阅读体验,还可能对后续的数据处理和分析造成困扰。现在,我们为你带来一款全新的TXT文本处理工具,一键删除符号,高效…

【数据结构—栈的实现(数组栈)】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、栈 1.1栈的概念及结构 二、栈的实现 2.1头文件的实现—Stack.h 2.2源文件的实现—Stack.c 2.3源文件的测试—test.c 三、栈的实际测试数据展示 3.1正常的出…

【图像分类】【深度学习】【Pytorch版本】 DenseNet模型算法详解

【图像分类】【深度学习】【Pytorch版本】 DenseNet模型算法详解 文章目录 【图像分类】【深度学习】【Pytorch版本】 DenseNet模型算法详解前言DenseNet讲解Dense Block(稠密块)Dense Layer(稠密层)Transition Layer 过渡层DenseNet模型结构 DenseNet Pytorch代码完整代码附加…

鱼fish数据集VOC+yolo-1400张(labelImg标注)

鱼类,是最古老的脊椎动物。易蓄积重金属。 部分不同染色体数目的杂交的后代依然有生育能力。它们几乎栖居于地球上所有的水生环境,从淡水的湖泊、河流到咸水的大海和大洋。 今天要介绍鱼的数据集。 数据集名称:鱼 fish 数据集格式&#xf…

五分钟快速掌握Maven的核心概念

前两天在一个技术群,有人还在问maven中groupId、artifactId、version这些关键字的含义是什么,于是,我觉得还是很有必要来聊聊Maven中的这些核心概念。 成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。 …