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文件和目录操作函数小结
Jul 11 Python
详解Python中break语句的用法
May 14 Python
python如何通过protobuf实现rpc
Mar 06 Python
用python做一个搜索引擎(Pylucene)的实例代码
Jul 05 Python
python查询mysql,返回json的实例
Mar 26 Python
python实现反转部分单向链表
Sep 27 Python
Python Matplotlib库安装与基本作图示例
Jan 09 Python
浅谈python图片处理Image和skimage的区别
Aug 04 Python
Python文件操作模拟用户登陆代码实例
Jun 09 Python
windows系统Tensorflow2.x简单安装记录(图文)
Jan 18 Python
Python 的 f-string 可以连接字符串与数字的原因解析
Feb 20 Python
Python源码解析之List
May 21 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定时计划任务与fsockopen持续进程实例
2014/05/23 PHP
基于PHP如何把汉字转化为拼音
2015/12/11 PHP
php字符串的替换,分割和连接方法
2016/05/23 PHP
php支付宝在线支付接口开发教程
2016/09/19 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)
2013/11/22 Javascript
js完美的div拖拽实例代码
2014/01/22 Javascript
如何用javascript计算文本框还能输入多少个字符
2015/07/29 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
详解Node.js中exports和module.exports的区别
2017/04/19 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
JS实现区分中英文并统计字符个数的方法示例
2018/06/09 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
Vue实现滑动拼图验证码功能
2019/09/15 Javascript
一篇文章带你使用Typescript封装一个Vue组件(简单易懂)
2020/06/05 Javascript
vue 项目引入echarts 添加点击事件操作
2020/09/09 Javascript
[01:32:50]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第一场 1月25日
2021/03/11 DOTA
python使用cookielib库示例分享
2014/03/03 Python
Python从文件中读取指定的行以及在文件指定位置写入
2019/09/06 Python
python MD5加密的示例
2020/10/19 Python
汽车专业人才自我鉴定范文
2013/12/29 职场文书
监理资料员岗位职责
2014/01/03 职场文书
遗体告别仪式答谢词
2014/01/23 职场文书
大学老师推荐信
2014/02/25 职场文书
副护士长竞聘演讲稿
2014/04/30 职场文书
计划生育证明格式范本
2014/09/12 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
小学主题班会教案
2015/08/17 职场文书
高一军训口号
2015/12/25 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
导游词之山东孔庙
2019/11/04 职场文书
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android