numpy数组做图片拼接的实现(concatenate、vstack、hstack)

 更新时间:2019年11月08日 11:15:00   作者:hi 你好。  
这篇文章主要介绍了numpy数组做图片拼接的实现(concatenate、vstack、hstack),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

两种方法拼接

#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使用mysql数据库示例代码

    python使用mysql数据库示例代码

    本篇文章主要介绍了python使用mysql数据库示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • 使用Python实现Exce格式化批处理工具

    使用Python实现Exce格式化批处理工具

    原始Excel数据常常存在格式不统一、空值、重复数据等问题,影响数据的准确性和可用性,所以本文就来使用Python编写一个Excel数据清洗工具,有需要的小伙伴可以参考一下
    2025-04-04
  • Python生成requirements.txt的三种方法

    Python生成requirements.txt的三种方法

    requirements.txt 文件通常用于列出项目所需的所有Python包及其版本,本文主要介绍了Python生成requirements.txt的三种方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • pandas去重复行并分类汇总的实现方法

    pandas去重复行并分类汇总的实现方法

    这篇文章主要介绍了pandas去重复行并分类汇总的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Python中的变量赋值

    Python中的变量赋值

    这篇文章主要介绍了Python中的变量赋值,Python中的变量在使用中很流畅,可以不关注类型,任意赋值,对于开发来说效率得到了提升,但不了解其中的机理,往往也会犯一些小错,让开发进行的不那么流畅,本文就从语言设计和底层原理的角度,带大家理解Python中的变量。
    2021-10-10
  • Python pickle模块的使用指南

    Python pickle模块的使用指南

    Python pickle模块用于对象序列化与反序列化,支持dump/load方法及自定义类,需注意安全风险,建议在受控环境中使用,适用于模型持久化、缓存及跨进程通信,选择高效协议版本以提升性能
    2025-09-09
  • python turtle库画一个方格和圆实例

    python turtle库画一个方格和圆实例

    在本篇文章里小编给大家分享了关于python中用turtle库画一个方格和圆实例和相关代码,需要的朋友们可以学习参考下。
    2019-06-06
  • python 字典和列表嵌套用法详解

    python 字典和列表嵌套用法详解

    python中字典和列表的使用,在数据处理中应该是最常用的,今天通过多种场景给大家分享python 字典和列表嵌套用法,感兴趣的朋友一起看看吧
    2021-06-06
  • python机器学习案例教程——K最近邻算法的实现

    python机器学习案例教程——K最近邻算法的实现

    本篇文章主要介绍了python机器学习案例教程——K最近邻算法的实现,详细的介绍了K最近邻算法的概念和示例,具有一定的参考价值,有兴趣的可以了解一下
    2017-12-12
  • python实现将m3u8视频转换成mp4的操作步骤

    python实现将m3u8视频转换成mp4的操作步骤

    m3u8 是一种基于文本的媒体播放列表文件格式,通常用于指定流媒体播放器播放在线媒体流,MP4是一种基于MPEG-4 Part 12(2015)和MPEG-4 Part 14标准的数字多媒体容器格式,本文将给大家介绍python实现将m3u8视频转换成mp4的操作步骤,需要的朋友可以参考下
    2024-05-05

最新评论