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 相关文章推荐
linux 下实现python多版本安装实践
Nov 18 Python
Python网页解析利器BeautifulSoup安装使用介绍
Mar 17 Python
python初学之用户登录的实现过程(实例讲解)
Dec 23 Python
python中嵌套函数的实操步骤
Feb 27 Python
django框架模板中定义变量(set variable in django template)的方法分析
Jun 24 Python
Python3操作MongoDB增册改查等方法详解
Feb 10 Python
Python包和模块的分发详细介绍
Jun 19 Python
Python爬虫爬取糗事百科段子实例分享
Jul 31 Python
Matlab使用Plot函数实现数据动态显示方法总结
Feb 25 Python
用python批量解压带密码的压缩包
May 31 Python
Python中glob库实现文件名的匹配
Jun 18 Python
Python+tkinter实现高清图片保存
Mar 13 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中静态变量的使用方法实例分析
2016/12/01 PHP
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
2014/01/09 Javascript
jquery 中的each()跳出循环的语句
2014/05/23 Javascript
js中string转int把String类型转化成int类型
2014/08/13 Javascript
如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
2015/03/05 Javascript
javascript框架设计之类工厂
2015/06/23 Javascript
jQuery动画效果相关方法实例分析
2015/12/31 Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
2016/01/08 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
jQuery实现鼠标选文字发新浪微博的方法
2016/04/02 Javascript
老生常谈的跨域处理
2017/01/11 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
node实现的爬虫功能示例
2018/05/04 Javascript
jQuery阻止事件冒泡实例分析
2018/07/03 jQuery
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
python实现bitmap数据结构详解
2014/02/17 Python
使用python实现生成用户信息
2017/03/20 Python
python程序变成软件的实操方法
2019/06/24 Python
对python 调用类属性的方法详解
2019/07/02 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
python zip()函数使用方法解析
2019/10/31 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
Python -m参数原理及使用方法解析
2020/08/21 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
python中的yield from语法快速学习
2020/11/06 Python
美国爆米花工厂:The Popcorn Factory
2019/09/14 全球购物
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
如何通过jdbc调用存储过程
2012/04/19 面试题
公积金单位接收函
2014/01/11 职场文书
vue里使用create, mounted调用方法
2022/04/26 Vue.js
利用Python实现模拟登录知乎
2022/05/25 Python
Python中的 enumerate和zip详情
2022/05/30 Python