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 10 Python
Python下线程之间的共享和释放示例
May 04 Python
Python中easy_install 和 pip 的安装及使用
Jun 05 Python
Python基于正则表达式实现检查文件内容的方法【文件检索】
Aug 30 Python
分享Python切分字符串的一个不错方法
Dec 14 Python
详解pandas的外部数据导入与常用方法
May 01 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
Aug 13 Python
python 的numpy库中的mean()函数用法介绍
Mar 03 Python
django从后台返回html代码的实例
Mar 11 Python
关于Python turtle库使用时坐标的确定方法
Mar 19 Python
基于matplotlib xticks用法详解
Apr 16 Python
2021年最新用于图像处理的Python库总结
Jun 15 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 和 MySQL 时区的一点总结
2008/03/26 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
2016/06/13 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
广告代码静态化js通用函数
2007/05/09 Javascript
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
Jquery下attr和removeAttr的使用方法
2010/12/28 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
使用forever管理nodejs应用教程
2014/06/03 NodeJs
javascript封装的sqlite操作类实例
2015/07/17 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
2016/01/06 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
2016/04/01 Javascript
Jquery和Js获得元素标签名称的方法总结
2016/10/08 Javascript
jQuery图片切换动画效果
2017/02/28 Javascript
ztree简介_动力节点Java学院整理
2017/07/19 Javascript
小程序click-scroll组件设计
2019/06/18 Javascript
Vue的属性、方法、生命周期实例代码详解
2019/09/17 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
vue实现广告栏上下滚动效果
2020/11/26 Vue.js
[01:04:49]KG vs LGD 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python的多态性实例分析
2015/07/07 Python
分享几道你可能遇到的python面试题
2017/07/24 Python
pip指定python位置安装软件包的方法
2019/07/12 Python
python3.7 的新特性详解
2019/07/25 Python
python返回数组的索引实例
2019/11/28 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
python批量修改文件名的示例
2020/09/27 Python
HTML5表单验证特性(知识点小结)
2020/03/10 HTML / CSS
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
Luxplus荷兰:以会员价购买美容产品等,独家优惠
2019/08/30 全球购物
转预备党员政审材料
2014/02/06 职场文书
幼儿园感恩节活动方案2014
2014/10/11 职场文书
青岛海底世界导游词
2015/02/11 职场文书
swagger如何返回map字段注释
2021/07/03 Java/Android