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 相关文章推荐
PHP魔术方法__ISSET、__UNSET使用实例
Nov 25 Python
深入探究Python中变量的拷贝和作用域问题
May 05 Python
Python学习笔记整理3之输入输出、python eval函数
Dec 14 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
Oct 21 Python
Python异常处理知识点总结
Feb 18 Python
详解Python字符串切片
May 20 Python
在Pandas中处理NaN值的方法
Jun 25 Python
Python使用百度api做人脸对比的方法
Aug 28 Python
Python通过正则库爬取淘宝商品信息代码实例
Mar 02 Python
opencv python在视屏上截图功能的实现
Mar 05 Python
基于python 将列表作为参数传入函数时的测试与理解
Jun 05 Python
Numpy中np.max的用法及np.maximum区别
Nov 27 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运行出现Call to undefined function curl_init()的解决方法
2010/11/02 PHP
基于Zend的Config机制的应用分析
2013/05/02 PHP
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
php动态生成缩略图并输出显示的方法
2015/04/20 PHP
php二维码生成
2015/10/19 PHP
PHP 断点续传实例详解
2017/11/11 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
jQuery中常用的遍历函数用法实例总结
2015/09/01 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
BootStrap与Select2使用小结
2017/02/17 Javascript
深究AngularJS之ui-router详解
2017/06/13 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
2018/03/26 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
在antd4.0中Form使用initialValue操作
2020/11/02 Javascript
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
Python3简单实例计算同花的概率代码
2017/12/06 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
python占位符输入方式实例
2019/05/27 Python
python编写softmax函数、交叉熵函数实例
2020/06/11 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
利用python实现汉诺塔游戏
2021/03/01 Python
英国鲜花速递:Serenata Flowers
2018/04/03 全球购物
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
ColourPop美国官网:卡拉泡泡,洛杉矶彩妆品牌
2019/04/28 全球购物
物业公司采购员岗位职责
2013/12/31 职场文书
小区推广策划方案
2014/06/06 职场文书
医院党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
上班迟到检讨书范文300字
2014/11/02 职场文书
武侯祠导游词
2015/02/04 职场文书
用Python的绘图库(matplotlib)绘制小波能量谱
2021/04/17 Python
Python基础之元编程知识总结
2021/05/23 Python