iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python如何实现多张图片合成一张马赛克图片
  • 213
分享到

Python如何实现多张图片合成一张马赛克图片

2023-06-22 05:06:31 213人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章将为大家详细讲解有关python如何实现多张图片合成一张马赛克图片,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。图片素材4K高清原图开发环境Python 3.6PyCharm实现代码先导入所需模块

这篇文章将为大家详细讲解有关python如何实现多张图片合成一张马赛克图片,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

图片素材

Python如何实现多张图片合成一张马赛克图片

4K高清原图

Python如何实现多张图片合成一张马赛克图片

开发环境

Python 3.6

PyCharm

实现代码

先导入所需模块

import cv2import globimport argparseimport numpy as npfrom tqdm import tqdm  # 进度条from itertools import product  # 迭代器

读取图片文件

def parsArgs():    parser = argparse.ArgumentParser('拼接马赛克图片')    parser.add_argument('--targetpath', type=str, default='examples/3.jpg', help='目标图像路径')    parser.add_argument('--outputpath', type=str, default='output.jpg', help='输出图像的路径')    parser.add_argument('--sourcepath', type=str, default='sourceimages', help='用来拼接图像的所有源图像文件路径')    parser.add_argument('--blocksize', type=int, default=15, help='马赛克快的大小')    args = parser.parse_args()    return args

读取所有源图片并计算对应颜色平均值

def readSourceImages(sourcepath,blocksize):    print('开始读取图像')

合法图像列表

设置一个列表,存放符合要求的颜色图像

sourceimages = []

平均颜色列表

avGColors = []

遍历

每遍历一次,进度条走一次

for path in tqdm(glob.glob("{}/*.jpg".fORMat(sourcepath))):    image = cv2.imread(path, cv2.IMREAD_COLOR)    if image.shape[-1] != 3:        continue    # 缩放尺寸    image = cv2.resize(image, (blocksize, blocksize))    # 图像颜色平均值    avgcolor = np.sum(np.sum(image, axis=0), axis=0) / (blocksize * blocksize)    sourceimages.append(image)    avgcolors.append(avgcolor)print('结束读取')return sourceimages,np.array(avgcolors)

主函数

def main(args):    targetimage = cv2.imread(args.targetpath)    outputimage = np.zeros(targetimage.shape,np.uint8)  # int8 int16 int32 int64    sourceimages,avgcolors = readSourceImages(args.sourcepath,args.blocksize)    print('开始制作')    for i, j in tqdm(product(range(int(targetimage.shape[1]/args.blocksize)), range(int(targetimage.shape[0]/args.blocksize)))):        block = targetimage[j * args.blocksize: (j + 1) * args.blocksize, i * args.blocksize: (i + 1) * args.blocksize,:]        avgcolor = np.sum(np.sum(block, axis=0), axis=0) / (args.blocksize * args.blocksize)        distances = np.linalg.norm(avgcolor - avgcolors, axis=1)        idx = np.argmin(distances)        outputimage[j * args.blocksize: (j + 1) * args.blocksize, i * args.blocksize: (i + 1) * args.blocksize, :] = \        sourceimages[idx]    cv2.imwrite(args.outputpath, outputimage)    cv2.imshow('result', outputimage)    print('制作完成')

模块调用执行

if __name__ == '__main__':    # run    main(parseArgs())

完整效果

Python如何实现多张图片合成一张马赛克图片

Python如何实现多张图片合成一张马赛克图片

Python如何实现多张图片合成一张马赛克图片

Python如何实现多张图片合成一张马赛克图片

关于“Python如何实现多张图片合成一张马赛克图片”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Python如何实现多张图片合成一张马赛克图片

本文链接: https://www.lsjlt.com/news/302945.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python实现多张图片合成一张马赛克图片
    目录前言开发环境实现代码先导入所需模块读取图片文件读取所有源图片并计算对应颜色平均值合法图像列表平均颜色列表遍历主函数模块调用执行完整效果前言 最近有网友私信我,问如何把多张图片合成...
    99+
    2024-04-02
  • Python如何实现多张图片合成一张马赛克图片
    这篇文章将为大家详细讲解有关Python如何实现多张图片合成一张马赛克图片,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。图片素材4K高清原图开发环境Python 3.6Pycharm实现代码先导入所需模块...
    99+
    2023-06-22
  • Python如何合并多张图片成PDF
    小编给大家分享一下Python如何合并多张图片成PDF,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!过程拿到一个需求最重要的就是将大块任务拆分成一个个小模块,逐个...
    99+
    2023-06-15
  • Python如何实现合并多张图片成视频
    本篇内容介绍了“Python如何实现合并多张图片成视频”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!合并多张图片到视频的方法说明除了使用 O...
    99+
    2023-07-05
  • Python实现合成多张图片到PDF格式
    目录1.准备2.合成原理3.多张照片合成PDF在日常生活中,经常会遇到需要提交身份证正反面证明资料的情况,而且这些网站大部分只接受pdf格式,这时候我们就需要把身份证正反面两张图片合...
    99+
    2024-04-02
  • Python如何实现多张图片合成文字的效果
    本篇内容主要讲解“Python如何实现多张图片合成文字的效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何实现多张图片合成文字的效果”吧!一、图片批量下载首先我们需要从百度下载大...
    99+
    2023-07-02
  • Python实现多张图片合成文字的效果
    目录前言一、图片批量下载1.下载图片2.检测图片数量3.查找相似图片二、图片马赛克1.使用photomosaic库实现图片马赛克2.计算颜色相似度实现图片马赛克前言 前段时间看到有人...
    99+
    2024-04-02
  • js使用Canvas将多张图片合并成一张的实现代码
    解决方案 function mergeImgs(list) { const imgDom = document.createElement('img') document.b...
    99+
    2024-04-02
  • Android实现多张图片合成加载动画
    本文实例为大家分享了Android实现多张图片合成加载动画的具体代码,供大家参考,具体内容如下 1、自定义ProgressDialog public class MyProgress...
    99+
    2024-04-02
  • python如何存储多张图片
    在Python中,可以使用PIL库(Python Imaging Library)来存储多张图片。 首先,确保已经安装了PIL库。如...
    99+
    2024-04-09
    python
  • 基于Python实现合并多张图片转成mp4视频
    目录前言一、需要调入的模块1、imageio模块2、Image 模块二、实现合并多张图片转成 mp4 视频三、优化改进一下总结前言 随着现代科技飞速发展和人们提升视觉上体验,利用图片...
    99+
    2023-05-15
    Python合并图片转成视频 Python合并图片 Python 图片转视频
  • wps ppt图片如何一张一张出来
    本篇内容主要讲解“wps ppt图片如何一张一张出来”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“wps ppt图片如何一张一张出来”吧!先打开PPT演示文稿,然后点击文稿工具栏上面的插入选项。...
    99+
    2023-07-01
  • 基于Python如何实现合并多张图片转成mp4视频
    这篇文章主要介绍“基于Python如何实现合并多张图片转成mp4视频”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“基于Python如何实现合并多张图片转成mp4视频”文章能帮助大家解决问题。一、需要...
    99+
    2023-07-06
  • js实现多张图片打包成zip
    目录1、引入文件2、html页面3、主要代码4、优化图片转base64的流程,提高zip的打包速度5、再优化,通过axios把图片转成base641、引入文件 <scrip...
    99+
    2024-04-02
  • C#实现合并多张图片为GIF动态图
    目录文章描述开发环境开发工具实现代码实现效果代码解析文章描述 在前一篇写了如何将一张GIF动态图分解成一帧一帧的图片,这一篇我们就把喝进去的一瓢水给还回去。即把一张又一张的图片去拼合...
    99+
    2022-12-15
    C#合并图片为gif C#合并图片 C# gif
  • Vant Uploader实现上传一张或多张图片组件
    本文实例为大家分享了Vant Uploader实现上传一张或多张图片组件,供大家参考,具体内容如下 html部分 <template> <div class...
    99+
    2024-04-02
  • jquery如何实现多次上传同一张图片
    这篇文章将为大家详细讲解有关jquery如何实现多次上传同一张图片,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下$('input[type=file]&#...
    99+
    2024-04-02
  • Python实现合并多张图片成视频的示例详解
    目录合并多张图片到视频的方法说明moviepy 将多张图片合成视频导入所需模块创建 ImageSequenceClip 对象保存视频moviepy 合成多张图片更多配置名词解释FFm...
    99+
    2023-02-01
    Python合并图片成视频 Python合并图片 Python 图片 视频
  • mac如何查看多张图片
    mac如何查看多张图片,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。对于新上手Mac电脑的小伙伴来说预览多张照片是一件非常烦人的事情,因为不知道怎么查看多张图片,所以经常需要一...
    99+
    2023-06-05
  • 如何实现Python对130w+张图片检索
    本篇内容主要讲解“如何实现Python对130w+张图片检索”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何实现Python对130w+张图片检索”吧!python是什么意思Python是一种...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作