图像外扩与拼接(图像展示时将多个图像拼接到一起显示)

主要参考Python OPenCV 图片简单拼接 hconcat vconcat函数使用python opencv 对图像边缘扩充

图像展示时常常需要将多个图像拼接到一起显示,同时各个图像之间留有白色空隙。

图像外扩

对图像边缘扩充,或者叫边框填充,使用cv2.copyMakeBorder函数。

参数含义为:

cv2.copyMakeBorder(cv2读入图像, 扩充宽度, 扩充宽度, 扩充宽度, 扩充宽度, cv2.BORDER_CONSTANT(常量扩充方式), value=[255, 255, 255](常量扩充值))

示例为

image_list = []
for ii, image_path in enumerate(image_path_list):
    imii = cv2.imread(image_path)
    a = cv2.copyMakeBorder(imii, 5, 5, 5, 5, cv2.BORDER_CONSTANT, value=[255, 255, 255])
    image_list.append(a)

图像拼接

将相同尺寸的图像沿某一方向进行拼接,使用cv2.hconcat函数(水平拼接)或cv2.vconcat函数(垂直拼接)

import  cv2
img =cv2.imread(file_path[i])
img=cv2.hconcat([img,img,img])#水平拼接
img=cv2.vconcat([img,img,img])#垂直拼接

示例为

img_hcat_lst = []
for jj in range(select_num // 10):
    img = cv2.hconcat([select_images[10*jj+0], select_images[10*jj+1], select_images[10*jj+2], select_images[10*jj+3],
                       select_images[10*jj+4], select_images[10*jj+5], select_images[10*jj+6], select_images[10*jj+7],
                       select_images[10*jj+8], select_images[10*jj+9]])

    img_hcat_lst.append(img)


img = cv2.vconcat([img_hcat_lst[0], img_hcat_lst[1], img_hcat_lst[2], img_hcat_lst[3], img_hcat_lst[4],
                   img_hcat_lst[5], img_hcat_lst[6], img_hcat_lst[7], img_hcat_lst[8], img_hcat_lst[9]])
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值