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实现QQ游戏大家来找茬辅助工具
Sep 14 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
May 08 Python
Python遍历某目录下的所有文件夹与文件路径
Mar 15 Python
对python-3-print重定向输出的几种方法总结
May 11 Python
Python3.5 处理文本txt,删除不需要的行方法
Dec 10 Python
解决Python selenium get页面很慢时的问题
Jan 30 Python
Python实现通过解析域名获取ip地址的方法分析
May 17 Python
Python代码实现http/https代理服务器的脚本
Aug 12 Python
Python连接字符串过程详解
Jan 06 Python
Python semaphore evevt生产者消费者模型原理解析
Mar 18 Python
基于django 的orm中非主键自增的实现方式
May 18 Python
Python List remove()实例用法详解
Aug 02 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 strcmp使用说明
2010/04/22 PHP
php allow_url_include的应用和解释
2010/04/22 PHP
PHP批量采集下载美女图片的实现代码
2013/06/03 PHP
PHP使用xmllint命令处理xml与html的方法
2014/12/15 PHP
[原创]PHP字符串中插入子字符串方法总结
2016/05/06 PHP
php+webSoket实现聊天室示例代码(附源码)
2017/02/17 PHP
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
jQuery回车实现登录简单实现
2013/08/20 Javascript
jquery ajax修改全局变量示例代码
2013/11/08 Javascript
Javascript验证上传图片大小[前台处理]
2014/07/18 Javascript
js监听鼠标点击和键盘点击事件并自动跳转页面
2014/09/24 Javascript
jQuery实现的瀑布流加载效果示例
2016/09/13 Javascript
借助node实战JSONP跨域实例
2017/03/30 Javascript
详解如何更好的使用module vuex
2019/03/27 Javascript
JavaScript基于用户照片姓名生成海报
2020/05/29 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
处理JavaScript值为undefined的7个小技巧
2020/07/28 Javascript
Python中分数的相关使用教程
2015/03/30 Python
Python中一行和多行import模块问题
2018/04/01 Python
Python3使用SMTP发送带附件邮件
2020/06/16 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
Python简单爬虫导出CSV文件的实例讲解
2018/07/06 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
2018/10/14 Python
Django框架设置cookies与获取cookies操作详解
2019/05/27 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
Pandas DataFrame中的tuple元素遍历的实现
2019/10/23 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
python装饰器练习题及答案
2019/11/01 Python
Python全局锁中如何合理运用多线程(多进程)
2019/11/06 Python
Python打印特殊符号及对应编码解析
2020/05/07 Python
英国高档时尚男装购物网站:MR PORTER
2016/08/09 全球购物
个人简历自我评价
2014/01/06 职场文书
报到证丢失证明
2014/01/11 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
小学六年级毕业感言
2015/07/30 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书