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

这篇具有很好参考价值的文章主要介绍了OpenCV将两幅图像拼在一起(Python)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、使用函数的介绍

主要使用numpy库数组拼接np.concatenate
使用示例如下

>>> 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时,将几个数组横向拼接

二、代码实现

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

# 横向拼接
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删掉就好文章来源地址https://www.toymoban.com/news/detail-571568.html

到了这里,关于OpenCV将两幅图像拼在一起(Python)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++ 程序使用 OpenCV 生成两个黑色的灰度图像,并添加随机特征点,然后将这两个图像合并为一张图像并显示

    生成灰度图像 :程序创建了两个大小为 240x320 像素的黑色灰度图像,分别命名为 imLeft 和 imRight 。 生成随机特征点 : 使用 generateRandomKeyPoints 函数在这两个图像上生成指定数量(在这个例子中是100个)的随机特征点。 这些特征点存储在 std::vectorcv::KeyPoint 类型的 mvKeys 和 mvK

    2024年02月20日
    浏览(41)
  • opencv+python(通道的分离与合并)笔记

    分割图像通道: 通过函数mv=split(img);mv返回的通道; RGB有3个通道;灰度图只有一个通道; 合并图像通道:cv2.merge((b,g,r)) 修改图像中某区域的颜色: img[10:100,10:100]=0 表示将图像img的行索引从10到100(不包括100)和列索引从10到100(不包括100)的区域像素值设置为0。这里的1

    2024年04月10日
    浏览(37)
  • OpenCV for Python 学习第四天 :通道的获取与合并

    上一篇博客,我们学习了如何通过更快的item()和itemset()的方法访问图片,以及了解了图像的兴趣位置的获取方法,那么今天,我们将学习通道的处理方法,通过通道的拆分和合并的实例,让大家更好的了解咱们有关于BGR通道的知识。 在OpenCV中,可以使用split()方法将图像的不

    2024年02月17日
    浏览(43)
  • OpenCV入门(C++/Python)-使用OpenCV裁剪图像(四)

    裁剪是为了从图像中删除所有不需要的物体或区域。甚至突出显示图像的特定功能。 使用OpenCV裁剪没有特定的功能,NumPy数组切片是工作。读取的每个图像都存储在2D数组中(对于每个颜色通道)。只需指定要裁剪区域的高度和宽度(以像素为单位),就可以完成 以下代码片

    2024年02月08日
    浏览(38)
  • 使用python_opencv比较图像差异/使用python_opencv找出两张图像的差异范围

    目录 1 创建conda环境 2 安装python库  2.1 报错 ModuleNotFoundError: No module named \\\'numpy\\\' 3 image_diff.py

    2024年02月05日
    浏览(44)
  • Python+opencv:图像修复

    简介 :OpenCV 是一个开源的计算机视觉库,它包含了许多图像处理和计算机视觉算法。使用 OpenCV 进行图像修复主要依赖于传统的图像处理技术。 OpenCV 图像修复方法及其原理: 1、去噪 :图像去噪是消除图像中的噪声,提高图像质量的过程。OpenCV 提供了多种去噪算法,如高斯

    2024年02月03日
    浏览(36)
  • python opencv图像拼接

    OpenCV 是一个开源的计算机视觉库,可以用来进行图像处理和计算机视觉方面的开发。它提供了一系列的函数和类来实现图像拼接。 在 Python 中使用 OpenCV 进行图像拼接时,需要用到 cv2 库。首先,需要将需要拼接的图片读入,然后使用 cv2.createStitcher() 函数来创建一个图像拼接

    2024年02月16日
    浏览(56)
  • python opencv图像模糊

    目录 一:均值滤波 二:高斯滤波 三:中值滤波 四:双边滤波 在OpenCV中,模糊图片或进行图像平滑处理时常用的方法包括以下几种: 均值滤波 (Blurring): 均值滤波是一种简单的平滑方法,它通过对图像中每个像素的邻域内像素值进行平均来计算新的像素值。在OpenC

    2024年02月22日
    浏览(65)
  • 【Python】OpenCV-图像滤波

    在图像处理中,滤波是一种常见的技术,用于去除图像中的噪声、平滑图像或突出图像的某些特征。本文将通过OpenCV库演示几种常见的滤波方法,每个滤波方法的原理和适用场景。 以下是一个使用OpenCV库的代码示例,展示了中值滤波、均值滤波、高斯滤波和拉普拉斯滤波的代

    2024年02月22日
    浏览(45)
  • Python Opencv实践 - 图像旋转

     

    2024年02月13日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包