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


Posted in Python onNovember 08, 2019

两种方法拼接

#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()
``

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python基于列表模拟堆栈和队列功能示例
Jan 05 Python
Django中的Signal代码详解
Feb 05 Python
python爬虫获取多页天涯帖子
Feb 23 Python
python解决字符串倒序输出的问题
Jun 25 Python
Python操作Excel插入删除行的方法
Dec 10 Python
对python中Json与object转化的方法详解
Dec 31 Python
Django上使用数据可视化利器Bokeh解析
Jul 31 Python
opencv+python实现均值滤波
Feb 19 Python
Python API 操作Hadoop hdfs详解
Jun 06 Python
解决Keras使用GPU资源耗尽的问题
Jun 22 Python
python suds访问webservice服务实现
Jun 26 Python
Python 实现一个计时器
Jul 28 Python
python实现身份证实名认证的方法实例
Nov 08 #Python
Python Django框架模板渲染功能示例
Nov 08 #Python
Python Django中间件,中间件函数,全局异常处理操作示例
Nov 08 #Python
Django框架下静态模板的继承操作示例
Nov 08 #Python
python中自带的三个装饰器的实现
Nov 08 #Python
python反转列表的三种方式解析
Nov 08 #Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
Nov 08 #Python
You might like
Home Coffee Roasting
2021/03/03 咖啡文化
php导入模块文件分享
2015/03/17 PHP
PHP中串行化用法示例
2016/11/16 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
2020/01/02 PHP
jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
2010/10/15 Javascript
关于火狐(firefox)及ie下event获取的两种方法
2012/12/27 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
SWFUpload多文件上传及文件个数限制的方法
2016/05/31 Javascript
js删除数组元素、清空数组的简单方法(必看)
2016/07/27 Javascript
Angular2内置指令NgFor和NgIf详解
2016/08/03 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
2016/10/18 Javascript
React简单介绍
2017/05/24 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
JavaScript中 ES6变量的结构赋值
2018/07/10 Javascript
Vue看了就会的8个小技巧
2021/01/21 Vue.js
在Python中操作字符串之startswith()方法的使用
2015/05/20 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
2017/09/30 Python
python实现二维数组的对角线遍历
2019/03/02 Python
Python generator生成器和yield表达式详解
2019/08/08 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
2019/10/17 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
Python 使用 PyQt5 开发的关机小工具分享
2020/07/16 Python
Europcar意大利:汽车租赁
2019/07/07 全球购物
Interhome丹麦:在线预订度假屋和公寓
2019/07/18 全球购物
贪睡宠物用品:Snoozer Pet Products
2020/02/04 全球购物
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
Unix控制后台进程都有哪些进程
2016/09/22 面试题
工厂仓管员岗位职责范本
2014/07/17 职场文书
先进集体事迹材料范文
2014/12/25 职场文书
MySQL创建索引需要了解的
2021/04/08 MySQL
Python中requests做接口测试的方法
2021/05/30 Python
react 项目中引入图片的几种方式
2021/06/02 Javascript