一起拼接照片
image-processing
python
6
0

因此,对于我正在从事的这个项目,我有2张照片。这两张照片需要缝合在一起,一张在顶部,另一张在底部,然后您就可以看到整个图片。关于应该使用哪个模块的任何想法?

参考资料:
Stack Overflow
收藏
评论
共 3 个回答
高赞 时间 活跃

这是使用Pillow的代码示例。希望它能对某人有所帮助!

from PIL import Image

def merge_images(file1, file2):
    """Merge two images into one, displayed side by side
    :param file1: path to first image file
    :param file2: path to second image file
    :return: the merged Image object
    """
    image1 = Image.open(file1)
    image2 = Image.open(file2)

    (width1, height1) = image1.size
    (width2, height2) = image2.size

    result_width = width1 + width2
    result_height = max(height1, height2)

    result = Image.new('RGB', (result_width, result_height))
    result.paste(im=image1, box=(0, 0))
    result.paste(im=image2, box=(width1, 0))
    return result
收藏
评论

python映像库将在早餐时吃掉该任务。

请参阅该教程 ,特别是“剪切,粘贴和合并图像”部分,以获取一些相关帮助。

对于粗略轮廓,请使用Image.open加载两个图像,使用size属性和一些Image.open找出输出图像的size ,使用Image.new创建输出图像,然后使用paste方法paste两个原始图像在。

收藏
评论

这是Jan Erik Solems用python编写的计算机视觉中的一些代码;您可能可以对其进行编辑以适合您的顶部/底部需求

def stitchImages(im1,im2):
    '''Takes 2 PIL Images and returns a new image that 
    appends the two images side-by-side. '''

    # select the image with the fewest rows and fill in enough empty rows
    rows1 = im1.shape[0]    
    rows2 = im2.shape[0]

    if rows1 < rows2:
        im1 = concatenate((im1,zeros((rows2-rows1,im1.shape[1]))), axis=0)
    elif rows1 > rows2:
        im2 = concatenate((im2,zeros((rows1-rows2,im2.shape[1]))), axis=0)
    # if none of these cases they are equal, no filling needed.

    return concatenate((im1,im2), axis=1)
收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号