python+opencv实现堆叠图片

 更新时间:2022年04月27日 10:59:19   作者:吴天德少侠  
这篇文章主要为大家详细介绍了python+opencv实现堆叠图片,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python+opencv实现堆叠图片的具体代码,供大家参考,具体内容如下

# import cv2
# import numpy as np
#
# img = cv2.imread('../images/full.jpg')
#
# img_hor = np.hstack((img,img))
# img_ver = np.vstack((img,img))
#
# cv2.imshow('Horizontal',img_hor)
# cv2.imshow('Vertical',img_ver)
#
# cv2.waitKey(0)
 
import cv2
import numpy as np
 
 
def stackImages(scale,imgArray):
    rows = len(imgArray)
    cols = len(imgArray[0])
    rowsAvailable = isinstance(imgArray[0], list)
    width = imgArray[0][0].shape[1]
    height = imgArray[0][0].shape[0]
    if rowsAvailable:
        for x in range ( 0, rows):
            for y in range(0, cols):
                if imgArray[x][y].shape[:2] == imgArray[0][0].shape [:2]:
                    imgArray[x][y] = cv2.resize(imgArray[x][y], (0, 0), None, scale, scale)
                else:
                    imgArray[x][y] = cv2.resize(imgArray[x][y], (imgArray[0][0].shape[1], imgArray[0][0].shape[0]), None, scale, scale)
                if len(imgArray[x][y].shape) == 2: imgArray[x][y]= cv2.cvtColor( imgArray[x][y], cv2.COLOR_GRAY2BGR)
        imageBlank = np.zeros((height, width, 3), np.uint8)
        hor = [imageBlank]*rows
        hor_con = [imageBlank]*rows
        for x in range(0, rows):
            hor[x] = np.hstack(imgArray[x])
        ver = np.vstack(hor)
    else:
        for x in range(0, rows):
            if imgArray[x].shape[:2] == imgArray[0].shape[:2]:
                imgArray[x] = cv2.resize(imgArray[x], (0, 0), None, scale, scale)
            else:
                imgArray[x] = cv2.resize(imgArray[x], (imgArray[0].shape[1], imgArray[0].shape[0]), None,scale, scale)
            if len(imgArray[x].shape) == 2: imgArray[x] = cv2.cvtColor(imgArray[x], cv2.COLOR_GRAY2BGR)
        hor= np.hstack(imgArray)
        ver = hor
    return ver
 
img = cv2.imread('../images/lanbojini.jpg')
imgGray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
 
imgStack = stackImages(0.5,([img,imgGray,img],[img,img,img]))
 
# imgStack = stackImages(0.5,([img,imgGray,img],[img,img,img]))
 
# imgHor = np.hstack((img,img))
# imgVer = np.vstack((img,img))
#
# cv2.imshow("Horizontal",imgHor)
# cv2.imshow("Vertical",imgVer)
cv2.imshow("ImageStack",imgStack)
 
cv2.waitKey(0)

效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python实现用户登录注册

    Python实现用户登录注册

    这篇文章主要为大家详细介绍了Python实现用户登录注册,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Python做文本按行去重的实现方法

    Python做文本按行去重的实现方法

    每行在promotion后面包含一些数字,如果这些数字是相同的,则认为是相同的行,对于相同的行,只保留一行。接下来通过本文给大家介绍Python做文本按行去重的实现方法,感兴趣的朋友一起看看吧
    2016-10-10
  • 详解numpy.ndarray.reshape()函数的参数问题

    详解numpy.ndarray.reshape()函数的参数问题

    这篇文章主要介绍了详解numpy.ndarray.reshape()函数的参数问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 一文详解PyCharm中如何安装第三方库

    一文详解PyCharm中如何安装第三方库

    在下载安装好Pycharm后,一个在实际编程开发过程中非常重要的问题是第三方库添加,这篇文章主要给大家介绍了关于PyCharm中如何安装第三方库的相关资料,需要的朋友可以参考下
    2023-12-12
  • OpenCV视频流Python多线程处理方法详细分析

    OpenCV视频流Python多线程处理方法详细分析

    为OpenCV是搞计算机视觉必须要掌握的基础,这篇文章主要给大家介绍了关于OpenCV视频流多线程处理的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • Python错误: SyntaxError: Non-ASCII character解决办法

    Python错误: SyntaxError: Non-ASCII character解决办法

    这篇文章主要介绍了Python错误: SyntaxError: Non-ASCII character解决办法的相关资料,需要的朋友可以参考下
    2017-06-06
  • 用pip给python安装matplotlib库的详细教程

    用pip给python安装matplotlib库的详细教程

    这篇文章主要介绍了用pip给python安装matplotlib库的详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • 基于Python的一个自动录入表格的小程序

    基于Python的一个自动录入表格的小程序

    这篇文章主要介绍了基于Python的一个自动录入表格的小程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Python实现查找数据库最接近的数据

    Python实现查找数据库最接近的数据

    这篇文章主要介绍了Python实现查找数据库最接近的数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • python中matplotlib的颜色以及形状实例详解

    python中matplotlib的颜色以及形状实例详解

    在Python中经常使用matplotlib画图,为了让图像显示的更加好看,经常需要对图表点、线形状及颜色进行设置,下面这篇文章主要给大家介绍了关于python中matplotlib的颜色以及形状的相关资料,需要的朋友可以参考下
    2022-01-01

最新评论