python实现单张图像拼接与批量图片拼接

本文实例为大家分享了python实现图像拼接的具体代码,供大家参考,具体内容如下

一、效果 

二、代码

1、单张图片拼接

# 图片拼接
from PIL import Image
# pil paste可以进行图片拼接
import cv2
import numpy as np

path="F:/out/"+str(0)+".jpg"
img_out=cv2.imread(path)

num=5
for i in range(1,num):
 path="F:/out/"+str(i)+".jpg"
 img_tmp=cv2.imread(path)

 #横向
 img_out = np.concatenate((img_out, img_tmp), axis=1)

 # 纵向
 # img_out = np.concatenate((img_out, img_tmp))

cv2.imshow("IMG",img_out)
cv2.imwrite("F:/out/merge.jpg",img_out)
cv2.waitKey(0)

2、批量图片拼接

# 图片拼接
from PIL import Image
# pil paste可以进行图片拼接
import cv2
import numpy as np
import glob as glob
import os

num=5
os.chdir(r"F:\out")
img_name=[]
for file_name in glob.glob("*.jpg"):
 print(file_name)
 img_name.append(file_name)

# 批量处理图片
img_path = glob.glob("F:/out/*jpg")
for i in range(int(len(img_path)/num)):
 path = img_path[i*num]
 print(path)
 img_out = cv2.imread(path)

 for j in range(1, num):
  path = img_path[i*num+j]
  img_tmp = cv2.imread(path)

  # 横向
  img_out = np.concatenate((img_out, img_tmp), axis=1)

 # cv2.imshow("IMG", img_out)
 cv2.imwrite("F:/out/"+img_name[i*num+j][0:-6]+"_out.jpg", img_out)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python+gdal+遥感图像拼接(mosaic)的实例

    作为摄影测量与遥感的从业者,笔者最近开始深入研究gdal,为工作打基础!个人觉得gdal也是没有什么技术含量,调用别人的api.但是想想这也是算法应用的一个技能,多学无害! 关于遥感图像的镶嵌,主要分为6大步骤: step1: 1)对于每一幅图像,计算其行与列: 2)获取左上角X,Y 3)获取像素宽和像素高 4)计算max X 和 min Y,切记像素高是负值 maxX1 = minX1 + (cols1 * pixelWidth) minY1 = maxY1 + (rows1 * pixelH

  • Python实现FLV视频拼接功能

    文章摘要 本文简单说明了FLV文件的格式,以此为出发点,使用 Python 实现FLV视频的拼接. 一.FLV文件格式 关于FLV文件格式的解析网上有诸多文章,在这里就简单介绍一下需要了解的部分,以便读者更好地明白各段代码的功能. FLV文件是由文件头(Header)和文件体(Body)按顺序拼接而成.审查FLV内容时,以二进制方式读取内容. Header:文件头表明了文件的封装格式为FLV,存储对象为音频.视频或两者. 以下为FLV文件的Header,共 9 个字节: b'FLV\x01\x0

  • python实现图像拼接

    本文实例为大家分享了python实现图像拼接的具体代码,供大家参考,具体内容如下 1.待拼接的图像 2. 基于SIFT特征点和RANSAC方法得到的图像特征点匹配结果 3.图像变换结果 4.代码及注意事项 import cv2 import numpy as np def cv_show(name, image): cv2.imshow(name, image) cv2.waitKey(0) cv2.destroyAllWindows() def detectAndCompute(image):

  • python实现多张图片拼接成大图

    本文实例为大家分享了python实现多张图片拼接成大图的具体代码,供大家参考,具体内容如下 上次爬取了马蜂窝的游记图片,并解决了PIL模块的导入问题,现在直奔主题吧: import PIL.Image as Image import os IMAGES_PATH = 'D:\Mafengwo\photo\五月坦桑的暖风,非洲原野的呼唤\\' # 图片集地址 IMAGES_FORMAT = ['.jpg', '.JPG'] # 图片格式 IMAGE_SIZE = 256 # 每张小图片的大小 IM

  • python实现图片横向和纵向拼接

    本文实例为大家分享了python实现图片横向和纵向拼接的具体代码,供大家参考,具体内容如下 直接上代码: # -*- coding:utf-8 -*- __author__ = 'ShawDa' from PIL import Image def join(png1, png2, flag='horizontal'): """ :param png1: path :param png2: path :param flag: horizontal or vertical :re

  • python+OpenCV实现图像拼接

    本文实例为大家分享了利用python和OpenCV实现图像拼接,供大家参考,具体内容如下 python+OpenCV实现image stitching 在最新的OpenCV官方文档中可以找到C++版本的Stitcher类的说明, 但是python版本的还没有及时更新, 本篇对python版本的实现做一个简单的介绍. 由于官方文档中还没有python版本的Stitcher类的说明, 因此只能自己去GitHub源码上找, 以下是stitching的样例: from __future__ import

  • python使用PIL剪切和拼接图片

    本文实例为大家分享了python使用PIL剪切图片和拼接图片的具体代码,供大家参考,具体内容如下 因工作需要,接触到了PIL这个包,看其他人的博客踩了一些坑,有些博客并没有注明各个位置参数的含义,今天我就将他补全 切图 1.首先先下载一张图片,我使用的是1200*1200像素的图片,将它放置在G盘的img目录下 2.  我将这张图片切成四等分,我新建了两个文件,分别是img1.img2,用来存放图片 3. 代码 from PIL import Image img = Image.open('G:

  • Python+OpenCV实现图像的全景拼接

    本文实例为大家分享了Python+OpenCV实现图像的全景拼接的具体代码,供大家参考,具体内容如下 环境:python3.5.2 + openCV3.4 1.算法目的 将两张相同场景的场景图片进行全景拼接. 2.算法步骤 本算法基本步骤有以下几步: 步骤1:将图形先进行桶形矫正 没有进行桶形变换的图片效果可能会像以下这样: 图片越多拼接可能就会越夸张. 本算法是将图片进行桶形矫正.目的就是来缩减透视变换(Homography)之后图片产生的变形,从而使拼接图片变得畸形. 步骤2:特征点匹配 本

  • python实现图像拼接功能

    利用Python将Market1501的分割图片和原图两张图片进行拼接成一左一右一张图片,并将图片的像素值调整成256*128. 所有文件夹: 文件夹下的所有原图: 文件夹下的所有的分割图片: 代码如下: import PIL.Image as Image import os IMAGES_PATH = 'E:/gyx/Learning/Practice/4/data/market1501_seg_1/test/ori_img/' # 原图片集地址 IMAGES_PATH_1 = 'E:/gyx

  • python实现单张图像拼接与批量图片拼接

    本文实例为大家分享了python实现图像拼接的具体代码,供大家参考,具体内容如下 一.效果  二.代码 1.单张图片拼接 # 图片拼接 from PIL import Image # pil paste可以进行图片拼接 import cv2 import numpy as np path="F:/out/"+str(0)+".jpg" img_out=cv2.imread(path) num=5 for i in range(1,num): path="F

  • python opencv进行图像拼接

    本文实例为大家分享了python opencv进行图像拼接的具体代码,供大家参考,具体内容如下 思路和方法 思路 1.提取要拼接的两张图片的特征点.特征描述符: 2.将两张图片中对应的位置点找到,匹配起来: 3.如果找到了足够多的匹配点,就能将两幅图拼接起来,拼接前,可能需要将第二幅图透视旋转一下,利用找到的关键点,将第二幅图透视旋转到一个与第一幅图相同的可以拼接的角度: 4.进行拼接: 5.进行拼接后的一些处理,让效果看上去更好. 实现方法 1.提取图片的特征点.描述符,可以使用opencv创

  • Python编程实现线性回归和批量梯度下降法代码实例

    通过学习斯坦福公开课的线性规划和梯度下降,参考他人代码自己做了测试,写了个类以后有时间再去扩展,代码注释以后再加,作业好多: import numpy as np import matplotlib.pyplot as plt import random class dataMinning: datasets = [] labelsets = [] addressD = '' #Data folder addressL = '' #Label folder npDatasets = np.zer

  • 使用Python生成Shell命令,批量执行程序代码解析

    本文主要研究的是Linux系统中使用Python生成Shell命令,批量执行程序的相关内容,具体如下. 近日经常遇到在Linux shell中批量执行相似命令的情况.比如执行如下命令: gifsicle --delay=100 gif/App_1_hour_*_down.gif > combine_gif/App_1_hour_down.gif gifsicle --delay=100 gif/App_1_hour_*_up.gif > combine_gif/App_1_hour_up.gi

  • python实现微信自动回复及批量添加好友功能

    先给大家介绍下python微信自动回复功能 1.当收到好友消息时,自动回复 import random import itchat import requests import time def get_tuling_response(_info): print(_info) # 图灵机器人的网址 api_url = "http://www.tuling123.com/openapi/api" data = { 'key': '5ea0f11b5b6146239c52a47849387

  • python根据多个文件名批量查找文件

    本文实例为大家分享了python根据多个文件名批量查找文件的具体代码,供大家参考,具体内容如下 老板给了我一个文件列表,让我在一堆文件中挑出来,他要的文件有500多个,一堆文件有上千个,而且给的是关键词,不是完整的文件名. 我先做了类似的文件测试一下,一个名为filename的excel表 又做了一个文件夹 接下来运行代码 import os import numpy as np import pandas as pd import shutil file_path='/home/disk/yh

  • python+jinja2实现接口数据批量生成工具

    在做接口测试的时候,我们经常会遇到一种情况就是要对接口的参数进行各种可能的校验,手动修改很麻烦,尤其是那些接口参数有几十个甚至更多的,有没有一种方法可以批量的对指定参数做生成处理呢. 答案是肯定的! python的jinja2模板库可以很好的满足我们的需求,通过维护一个原始数据模板,将我们想要动态生成的变量模板化,就可以实现需求. 现在我们有这样的一个请求数据 { "abc":"123", "p2p":"123", "

  • python实现抖音视频批量下载

    本文实例为大家分享了python实现抖音视频批量下载的具体代码,供大家参考,具体内容如下 这里就拿最近很火的抖音视频为例,利用API来实现用户抖音视频的批量下载 主要用到的模块有 1.requests模块: 2.bs4模块: import requests import bs4 import os import json import re import sys import time from contextlib import closing requests.packages.urllib

  • 在Python中调用Ping命令,批量IP的方法

    如下所示: #!/usr/bin/env python #coding:UTF-8 ''''''' Author: jefferchen@163.com 可在命令行直接带目的IP,也可将IP列表在文本文件中. pingip.py -d DestIP DestIP示例: a)单个: 192.168.11.1 b)多个: 192.168.11.1;172.16.8.1;176.13.18.2 c)网段: 192.168.11.1-127 文本文件:ip.txt 目的IP多行存储 ''''''' im

  • Python脚本操作Excel实现批量替换功能

    大家好,给大家分享下如何使用Python脚本操作Excel实现批量替换. 使用的工具 Openpyxl,一个处理excel的python库,处理excel,其实针对的就是WorkBook,Sheet,Cell这三个最根本的元素~ 明确需求原始excel如下 我们的目标是把下面excel工作表的sheet1表页A列的内容"替换我吧"批量替换为B列的"我用来替换的x号选手" 实现替换后的效果图,C列为B列替换A列的指定内容后的结果 实现以上功能的同时,我也实现excel

随机推荐