numpy数组做图片拼接的实现(concatenate、vstack、hstack)
作者:hi 你好。 发布时间:2022-10-23 15:21:21
标签:numpy,数组,图片拼接
两种方法拼接
#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 np
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))
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 = img1
for 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()
``
来源:https://blog.csdn.net/songrps/article/details/102938548


猜你喜欢
- 一. 新建服务器用户: 用户管理,主要的工作就是建立一个合法的用户帐户、设置和管理用户的密码、修改用户帐户的属性以及在必要时删除已
- 本文实例为大家分享了SVM手写数字识别功能的具体代码,供大家参考,具体内容如下1、SVM手写数字识别识别步骤:(1)样本图像的准备。(2)图
- 迭代器即可以遍历诸如列表,字典及字符串等序列对象甚至自定义对象的对象,其本质就是记录迭代对象中每个元素的位置。迭代过程从第一个元素至最后一个
- 长话短说,今天介绍实现此功能的一个方法,需要了解的朋友可以参考下:一、JS 重载页面,本地刷新,返回上一页 代码如下:<a href=
- 1. 图片加载、灰度图、 显示和保存from PIL import Imageimg = Image.open('01.jpg
- by yemoo有时在编写网页代码时发现,img底部莫名奇妙多出大约3px的空白,无论怎么调节css都不可以,今天再次遇到此问题,网上看了一
- 前言亲人工作考试,公司给的题库好像是直接从数据库导出的表格Excel形式,在移动端上非常难看,需要不断左右上下滑动,看不了多少题眼就瞎了,遂
- 本文介绍了python+opencv像素的加减和加权操作的实现,分享给大家。# 目标:# 1、在图像上进行算术操作,如加减以及按位操作# 2
- ADODB.Stream在ASP编程中往往用于无组件上传,并且可以指定文件编码,可以应对各种不同的需要。但是在使用ADODB.Stream过
- 本文中,abigale代表查询字符串,ada代表数据表名,alice代表字段名。技巧一:问题类型:ACCESS数据库字段中含有日文片假名或其
- 本文实例为大家分享了python微信好友删除的具体代码,供大家参考,具体内容如下#weixin.py#coding:utf-8# !/usr
- 读取binlog,方法有二:1.使用mysqlbinlog,详细用法,请参考MySQL手册2.使用MySQL的自带工具,SHOW BINLO
- 我们一起来回顾一下上一次说到的 interface{}可以用来做多态接口类型分为空接口类型和非空接口类型,他们的底层数据结构不太一
- 本文实例讲述了Python数据分析之获取双色球历史信息的方法。分享给大家供大家参考,具体如下:每个人都有一颗中双色球大奖的心,对于技术人员来
- go语言中defer最主要的目的是在函数执行完毕后及时的释放资源入门案例package mainimport "fmt"
- Selenium一、简介selenium是一个用于Web应用自动化程序测试的工具,测试直接运行在浏览器中,就像真正的用户在操作一样selen
- 使用自带的Tkinter模块,简单的弹输入框示例,返回输入值from Tkinter import *import tkMessageBox
- 外键查询一个表的主键是哪些表的外键SELECTTABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENC
- 思路改进原博主文章(Python GUI–Tkinter简单实现个性签名设计)的代码,原先的代码是基于Python2的,我这份代码基于Pyt
- 可以用两种方式创建MySQL账户:1.使用GRANT语句2.直接操作MySQL授权表最好的方法是使用GRANT语句,因为这样更精确,错误少。