numpy数组做 图片拼接(concatenate、vstack、hstack)

2024-01-21 20:08

本文主要是介绍numpy数组做 图片拼接(concatenate、vstack、hstack),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

两种方法拼接

#img = np.vstack((img, img2))    # vstack按垂直方向,hstack按水平方向
img = np.concatenate((img, img2), axis=0)   # axis=0 按垂直方向,axis=1 按水平方向

统一图片大小,保证数组维度一致避免拼接失败。 把图片全部调整成第一张图的宽高

def img_size(image_names,width, height):for i in image_names:img = cv2.imread(os.path.join(img_path, i))img_resize = cv2.resize(img, (width, height), interpolation=cv2.INTER_CUBIC)cv2.imwrite(os.path.join(img_path, i), img_resize)print(os.path.join(img_path, i))

完整案例,拼接文件夹中的所有图片


import cv2
import os
import numpy as npdef img_size(image_names,width, height):for i in image_names:img = cv2.imread(os.path.join(img_path, i))img_resize = cv2.resize(img, (width, height), interpolation=cv2.INTER_CUBIC)cv2.imwrite(os.path.join(img_path, i), img_resize)print(os.path.join(img_path, i))if __name__ == '__main__':img_path = r'F:\studytest'image_names = [name for name in os.listdir(img_path) if os.path.splitext(name)[1] == ".jpg"]img1 = cv2.imread(os.path.join(img_path, image_names[0]))width, height = img1.shape[:2][::-1]img_size(image_names,width, height)img = img1for i in range(1,len(image_names)):img_page = image_names[i]img2 = cv2.imread(os.path.join(img_path, img_page))#img = np.vstack((img, img2))    # vstack按垂直方向,hstack按水平方向img = np.concatenate((img, img2), axis=0)   # axis=0 按垂直方向,axis=1 按水平方向cv2.imwrite(os.path.join(img_path,"res.jpg"), img)# cv2.imshow("img",img)# cv2.waitKey()
``

这篇关于numpy数组做 图片拼接(concatenate、vstack、hstack)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/630695

相关文章

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

hdu2241(二分+合并数组)

题意:判断是否存在a+b+c = x,a,b,c分别属于集合A,B,C 如果用暴力会超时,所以这里用到了数组合并,将b,c数组合并成d,d数组存的是b,c数组元素的和,然后对d数组进行二分就可以了 代码如下(附注释): #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<que

hdu 1166 敌兵布阵(树状数组 or 线段树)

题意是求一个线段的和,在线段上可以进行加减的修改。 树状数组的模板题。 代码: #include <stdio.h>#include <string.h>const int maxn = 50000 + 1;int c[maxn];int n;int lowbit(int x){return x & -x;}void add(int x, int num){while

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

Android 10.0 mtk平板camera2横屏预览旋转90度横屏拍照图片旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,在上一篇已经实现了横屏预览功能,然后发现横屏预览后,拍照保存的图片 依然是竖屏的,所以说同样需要将图片也保存为横屏图标了,所以就需要看下mtk的camera2的相关横屏保存图片功能, 如何实现实现横屏保存图片功能 如图所示: 2.mtk

Spring MVC 图片上传

引入需要的包 <dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-

C语言:柔性数组

数组定义 柔性数组 err int arr[0] = {0}; // ERROR 柔性数组 // 常见struct Test{int len;char arr[1024];} // 柔性数组struct Test{int len;char arr[0];}struct Test *t;t = malloc(sizeof(Test) + 11);strcpy(t->arr,

C 语言基础之数组

文章目录 什么是数组数组变量的声明多维数组 什么是数组 数组,顾名思义,就是一组数。 假如班上有 30 个同学,让你编程统计每个人的分数,求最高分、最低分、平均分等。如果不知道数组,你只能这样写代码: int ZhangSan_score = 95;int LiSi_score = 90;......int LiuDong_score = 100;int Zhou

Prompt - 将图片的表格转换成Markdown

Prompt - 将图片的表格转换成Markdown 0. 引言1. 提示词2. 原始版本 0. 引言 最近尝试将图片中的表格转换成Markdown格式,需要不断条件和优化提示词。记录一下调整好的提示词,以后在继续优化迭代。 1. 提示词 英文版本: You are an AI assistant tasked with extracting the content of

计算数组的斜率,偏移,R2

模拟Excel中的R2的计算。         public bool fnCheckRear_R2(List<double[]> lRear, int iMinRear, int iMaxRear, ref double dR2)         {             bool bResult = true;             int n = 0;             dou