zoukankan      html  css  js  c++  java
  • Python-OpenCV中图像合并显示

    在图像处理中,我们通常需要将原图像与处理后的图像放在同一个窗口显示,这样便于比较。

    首先,需要介绍Numpy中的两个函数:hstack()vstack()

    函数原型:hstack(tup) ,参数tup可以是元组,列表,或者numpy数组,返回结果为numpy的数组。看下面的代码体会它的含义:

    import numpy as np
    a=[1,2,3]
    b=[4,5,6]
    print(np.hstack((a,b)))
    
    输出:[1 2 3 4 5 6 ]
    import numpy as np
    a=[[1],[2],[3]]
    b=[[1],[2],[3]]
    c=[[1],[2],[3]]
    d=[[1],[2],[3]]
    print(np.hstack((a,b,c,d)))
    
    输出:
    [[1 1 1 1]
     [2 2 2 2]
     [3 3 3 3]]

    它其实就是水平(按列顺序)把数组给堆叠起来,vstack()函数正好和它相反。

    import numpy as np
    a=[1,2,3]
    b=[4,5,6]
    print(np.hstack((a,b)))
    
    输出:[1 2 3 4 5 6 ]
    import numpy as np
    a=[[1],[2],[3]]
    b=[[1],[2],[3]]
    c=[[1],[2],[3]]
    d=[[1],[2],[3]]
    print(np.hstack((a,b,c,d)))
    
    输出:
    [[1 1 1 1]
     [2 2 2 2]
     [3 3 3 3]]

    这样图像的合并操作就非常简单了,视为二维数组的操作即可(可忽略通道)

    import cv2
    import numpy as np
    
    img = cv2.imread("./Pictures/a.png")
    img = cv2.resize(img, None, fx=0.5, fy=0.5)    #为了完整显示,缩小一倍
    blur2 = cv2.blur(img, (2,2))
    blur3 = cv2.blur(img, (5,5))
    blur4 = cv2.blur(img, (10,10))
    
    htich = np.hstack((img,blur2))
    htich2 = np.hstack((blur3,blur4))
    vtich = np.vstack((htich, htich2))
    
    cv2.imshow("merged_img", vtich)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    效果:

    参考链接:

    1、https://blog.csdn.net/csdn15698845876/article/details/73380803

    2、https://blog.csdn.net/wugui1111/article/details/80706411

  • 相关阅读:
    延迟为程序集签名
    bootshrap会改变IE浏览器滚动条样式
    Spark算子选择策略
    kafka常用系统命令-1
    数据结构-树
    1.PyCharm 用法
    sql 语句用法
    linux命令
    linux命令
    es的相关知识二(检索文档)
  • 原文地址:https://www.cnblogs.com/lfri/p/10596888.html
Copyright © 2011-2022 走看看