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)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
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实现多张图片拼接成大图的具体代码,供大家参考,具体内容如下 上次爬取了马蜂窝的游记图片,并解决了PIL模块的导入问题,现在直奔主题吧: import PIL.Image as Image import os IMAGES_PATH = 'D:\Mafengwo\photo\五月坦桑的暖风,非洲原野的呼唤\\' # 图片集地址 IMAGES_FORMAT = ['.jpg', '.JPG'] # 图片格式 IMAGE_SIZE = 256 # 每张小图片的大小 IM
-
Python实现FLV视频拼接功能
文章摘要 本文简单说明了FLV文件的格式,以此为出发点,使用 Python 实现FLV视频的拼接. 一.FLV文件格式 关于FLV文件格式的解析网上有诸多文章,在这里就简单介绍一下需要了解的部分,以便读者更好地明白各段代码的功能. FLV文件是由文件头(Header)和文件体(Body)按顺序拼接而成.审查FLV内容时,以二进制方式读取内容. Header:文件头表明了文件的封装格式为FLV,存储对象为音频.视频或两者. 以下为FLV文件的Header,共 9 个字节: b'FLV\x01\x0
-
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实现图像拼接
本文实例为大家分享了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+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使用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+OpenCV实现图像拼接
本文实例为大家分享了利用python和OpenCV实现图像拼接,供大家参考,具体内容如下 python+OpenCV实现image stitching 在最新的OpenCV官方文档中可以找到C++版本的Stitcher类的说明, 但是python版本的还没有及时更新, 本篇对python版本的实现做一个简单的介绍. 由于官方文档中还没有python版本的Stitcher类的说明, 因此只能自己去GitHub源码上找, 以下是stitching的样例: from __future__ import
-
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
随机推荐
- 使用Oracle的Decode函数进行多值判断
- 关于IIS 对temp目录访问权限问题的解决方法
- Java二进制操作(动力节点Java学院整理)
- 简单的js表格操作
- Windows PHP5和Apache的安装与配置
- php使用Cookie实现和用户会话的方法
- JaveScript中的几个关键概念的理解-原型链的构建
- Node.js常用工具之util模块
- 微信小程序 教程之列表渲染
- 浅析shell脚本知识之符号篇
- 深入理解JS中的变量及作用域、undefined与null
- 用html css javascript打造自己的RIA图文教程第1/2页
- php之static静态属性与静态方法实例分析
- php实现希尔排序算法的方法分析
- JS实现DOM删除节点操作示例
- Python设计模式之建造者模式实例详解
- Vue 引入AMap高德地图的实现代码
- JS查找孩子节点简单示例
- PyTorch中Tensor的维度变换实现
- 详解python中的生成器、迭代器、闭包、装饰器