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学习笔记(二)基础语法
Jun 06 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
Jul 23 Python
requests和lxml实现爬虫的方法
Jun 11 Python
使用python生成目录树
Mar 29 Python
详解python 注释、变量、类型
Aug 10 Python
浅谈python中真正关闭socket的方法
Dec 18 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
Dec 27 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
Jan 29 Python
超简单使用Python换脸实例
Mar 27 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
Sep 06 Python
浅谈Django+Gunicorn+Nginx部署之路
Sep 11 Python
Python中使用subprocess库创建附加进程
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
Php部分常见问题总结
2006/10/09 PHP
php中变量及部分适用方法
2008/03/27 PHP
php命名空间学习详解
2014/02/27 PHP
详谈PHP文件目录基础操作
2014/11/11 PHP
使用PHP编写发红包程序
2015/07/22 PHP
Laravel最佳分割路由文件(routes.php)的方式
2016/08/04 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
laravel框架分组控制器和分组路由实现方法示例
2020/01/25 PHP
js用Date对象处理时间实现思路及代码
2013/01/31 Javascript
jquery点击切换背景色的简单实例
2016/08/25 Javascript
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
JavaScript学习教程之cookie与webstorage
2019/06/23 Javascript
layui禁用侧边导航栏点击事件的解决方法
2019/09/25 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
vue使用keep-alive实现组件切换时保存原组件数据方法
2020/10/30 Javascript
使用python实现拉钩网上的FizzBuzzWhizz问题示例
2014/05/05 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
2016/07/02 Python
python实现拓扑排序的基本教程
2018/03/11 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
python 实现图片旋转 上下左右 180度旋转的示例
2019/01/24 Python
python常用排序算法的实现代码
2019/11/08 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
公司面试感谢信
2014/02/01 职场文书
合作意向书格式及范文
2014/03/31 职场文书
作文评语集锦大全
2014/04/23 职场文书
爱国主义教育演讲稿
2014/08/26 职场文书
报表员工作失误检讨书范文
2014/09/19 职场文书
财政局个人年终总结
2015/03/03 职场文书
入党自荐书范文
2015/03/05 职场文书
火烧圆明园观后感
2015/06/03 职场文书
小学生安全教育主题班会
2015/08/12 职场文书
2016大一新生入学教育心得体会
2016/01/23 职场文书
为Centos安装指定版本的Docker
2022/04/01 Servers