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 open()文件处理使用介绍
Nov 30 Python
用Python中的字典来处理索引统计的方法
May 05 Python
python写入xml文件的方法
May 08 Python
MySQL中表的复制以及大型数据表的备份教程
Nov 25 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
Jul 02 Python
python3第三方爬虫库BeautifulSoup4安装教程
Jun 19 Python
Python中矩阵创建和矩阵运算方法
Aug 04 Python
Python高级特性之闭包与装饰器实例详解
Nov 19 Python
Python计算不规则图形面积算法实现解析
Nov 22 Python
Pytorch实现各种2d卷积示例
Dec 30 Python
Python socket服务常用操作代码实例
Jun 22 Python
图神经网络GNN算法
May 11 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
thinkphp区间查询、统计查询与SQL直接查询实例分析
2014/11/24 PHP
php连接oracle数据库的核心步骤
2016/05/26 PHP
JavaScript 常用函数
2009/12/30 Javascript
jQuery LigerUI 使用教程表格篇(1)
2012/01/18 Javascript
扩展JavaScript功能的正确方法(译文)
2012/04/12 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
JS判断页面是否出现滚动条的方法
2015/07/17 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
SpringMVC简单整合Angular2的示例
2017/07/31 Javascript
JS中用EL表达式获取上下文参数值的方法
2018/03/28 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
2020/03/10 Javascript
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
六个窍门助你提高Python运行效率
2015/06/09 Python
python编码总结(编码类型、格式、转码)
2016/07/01 Python
python 获取当天凌晨零点的时间戳方法
2018/05/22 Python
Python实现的读写json文件功能示例
2018/06/05 Python
Python面向对象程序设计多继承和多态用法示例
2019/04/08 Python
python实现的config文件读写功能示例
2019/09/24 Python
Python多线程爬取豆瓣影评API接口
2019/10/22 Python
Python内置加密模块用法解析
2019/11/25 Python
通过实例解析Python RPC实现原理及方法
2020/07/07 Python
英国最大的在线床超市:Bed Star
2019/01/24 全球购物
ddl,dml和dcl的含义
2016/05/08 面试题
密封类可以有虚函数吗
2014/08/11 面试题
Java如何获得ResultSet的总行数
2016/09/03 面试题
清洁工岗位职责
2014/01/29 职场文书
爱我中华演讲稿
2014/05/20 职场文书
公积金接收函格式
2015/01/30 职场文书
英文商务邀请函范文
2015/01/31 职场文书
民主评议教师党员自我评价
2015/03/04 职场文书
幼儿园教师岗位职责
2015/04/02 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书
小学生安全教育主题班会
2015/08/12 职场文书
创业分两种人:那么哪些适合创业?,哪些适合不适合创业呢?
2019/08/23 职场文书