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 21 Python
Python调用C++程序的方法详解
Jan 24 Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
Mar 12 Python
fastcgi文件读取漏洞之python扫描脚本
Apr 23 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
Jul 28 Python
Python实现GUI学生信息管理系统
Apr 05 Python
python使用xslt提取网页数据的方法
Feb 23 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
Dec 18 Python
python实现浪漫的烟花秀
Jan 30 Python
Pandas之Fillna填充缺失数据的方法
Jun 25 Python
python对常见数据类型的遍历解析
Aug 27 Python
matplotlib subplot绘制多个子图的方法示例
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
php后退一页表单内容保存实现方法
2012/06/17 PHP
php查看当前Session的ID实例
2015/03/16 PHP
PHP连接操作access数据库实例
2015/03/30 PHP
PHP编写RESTful接口的方法
2016/02/21 PHP
php编程每天必学之验证码
2016/03/03 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
2017/02/08 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
一个原生的用户等级的进度条
2010/07/03 Javascript
JS.findElementById()使用介绍
2013/09/21 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
jquery对Json的各种遍历方法总结(必看篇)
2016/09/29 Javascript
关于ES6的六个小特性(二)
2017/02/20 Javascript
js实现悬浮窗效果(支持拖动)
2017/03/09 Javascript
Vue响应式原理详解
2017/04/18 Javascript
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
vue购物车插件编写代码
2017/11/27 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
2018/07/11 Javascript
jQuery实现input[type=file]多图预览上传删除等功能
2019/08/02 jQuery
微信小程序实现天气预报功能(附源码)
2020/12/10 Javascript
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
2017/07/07 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
python如何读写csv数据
2018/03/21 Python
CSS3 新增选择器的实例
2019/11/13 HTML / CSS
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
中间件分为哪几类
2016/09/18 面试题
商务英语专业毕业生自荐信
2013/11/05 职场文书
婚纱店策划方案
2014/05/22 职场文书
2014年社区综治工作总结
2014/11/17 职场文书
理想国读书笔记
2015/06/25 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书
Nginx+Tomcat负载均衡集群的实现示例
2021/10/24 Servers
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python
MySQL表字段数量限制及行大小限制详情
2022/07/23 MySQL
Linux在两个服务器直接传文件的操作方法
2022/08/05 Servers