返回顶部
分享到

OpenCV实现将两幅图像拼在一起(Python)

python 来源:互联网 作者:佚名 发布时间:2026-05-08 21:38:36 人浏览
摘要

一、使用函数的介绍 主要使用numpy库数组拼接np.concatenate 使用示例如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 a = np.array(([1,2,3],[4,5,6])) b = np.array(([4,5,6],[7,8,9])) c = np.array(([7,8,9],[10,11,12])) np.concatenate(

一、使用函数的介绍

主要使用numpy库数组拼接np.concatenate

使用示例如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

>>> a = np.array(([1,2,3],[4,5,6]))

>>> b = np.array(([4,5,6],[7,8,9]))

>>> c = np.array(([7,8,9],[10,11,12]))

>>> np.concatenate((a,b,c), axis = 0)

 

array([[ 1,  2,  3],

       [ 4,  5,  6],

       [ 4,  5,  6],

       [ 7,  8,  9],

       [ 7,  8,  9],

       [10, 11, 12]])

        

>>> np.concatenate((a,b,c), axis = 1)

 

array([[ 1,  2,  3,  4,  5,  6,  7,  8,  9],

       [ 4,  5,  6,  7,  8,  9, 10, 11, 12]])

  • 当axis为0时,将几个数组纵向拼接
  • 当axis为1时,将几个数组横向拼接

二、代码实现

这里默认拼接的两张图像等宽或者等高

1

2

3

4

5

6

7

8

9

10

11

12

13

14

# 横向拼接

def concat_1(img_1, img_2):

    rows = np.size(img, 0)

    # 乘255是因为想要间隙是白的,白色像素值是255,如果想要黑色间隙

    interval_1 = np.ones((rows, 5)) * 255

    img_o = np.concatenate((img_1, interval_1, img_2), axis=1)

    return img_o

 

# 纵向拼接

def concat_0(img_1, img_2):

    columns = np.size(img, 1)

    interval_0 = np.ones((5, columns)) * 255 # 纵向拼接间隙

    img_o = np.concatenate((img_1, interval_0, img_2), axis=0)

    return img_o

其中,interval指两张图片之间的间隙。

  • 横向拼接时,应该使interval的高度与图片的高度相同,interval的宽度可以自己设
  • 纵向拼接时,应该使interval的宽度与图片的宽度相同,interval的高度可以自己设

这里拼接的是单通道灰度图,如果想要拼接彩色 图改一下interval即可,如果嫌麻烦直接把interval删掉就好


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计