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实现电子词典
Apr 23 Python
python optparse模块使用实例
Apr 09 Python
Python3中多线程编程的队列运作示例
Apr 16 Python
python使用win32com库播放mp3文件的方法
May 30 Python
python类的继承实例详解
Mar 30 Python
python 中的int()函数怎么用
Oct 17 Python
python数据结构之线性表的顺序存储结构
Sep 28 Python
Django REST framework 单元测试实例解析
Nov 07 Python
在django中使用post方法时,需要增加csrftoken的例子
Mar 13 Python
如何理解Python中包的引入
May 29 Python
解决numpy矩阵相减出现的负值自动转正值的问题
Jun 03 Python
详解Python中的文件操作
Jan 14 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
IIS7.X配置PHP运行环境小结
2011/06/09 PHP
php 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
PHP中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
php中3des加密代码(完全与.net中的兼容)
2012/08/02 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
2007/03/10 Javascript
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
js 上传图片预览问题
2010/12/06 Javascript
IE、FF、Chrome浏览器中的JS差异介绍
2013/08/13 Javascript
jquery实现tr元素的上下移动示例代码
2013/12/20 Javascript
jquery实现类似淘宝星星评分功能有截图
2014/09/15 Javascript
JS组件Bootstrap Table布局详解
2016/05/27 Javascript
JavaScript之DOM_动力节点Java学院整理
2017/07/03 Javascript
Node Puppeteer图像识别实现百度指数爬虫的示例
2018/02/22 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
微信小程序下拉加载和上拉刷新两种实现方法详解
2019/09/05 Javascript
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
QML实现圆环颜色选择器
2019/09/25 Javascript
小程序新版订阅消息模板消息
2019/12/31 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
[10:42]Team Liquid Vs Newbee
2018/06/07 DOTA
在Python的Django框架中更新数据库数据的方法
2015/07/17 Python
python动态加载包的方法小结
2016/04/18 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
python实现淘宝购物系统
2019/10/25 Python
wxPython窗体拆分布局基础组件
2019/11/19 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
荷兰在线体育用品商店:Avantisport.nl
2018/07/04 全球购物
英国在线女鞋目的地:SIMMI
2018/12/27 全球购物
The North Face官方旗舰店:美国著名户外品牌
2020/09/28 全球购物
日语翻译个人求职的自我评价
2013/10/14 职场文书
2016高考感言
2015/08/01 职场文书
Golang之sync.Pool使用详解
2021/05/06 Golang