目的:批量将多张植物照片加上植物名字后拼接成多张3*3的图片。

思路:先给给张图片命名;然后代码实现加名字和拼图操作。

结果:

   

代码:

# 该代码用于将图片文件名批量添加到图片上
# 并将多张图片合并拼接为1张# code1:读取一个文件中所有图片的名称
# 参考:https://blog.csdn.net/hou9876543210/article/details/115544223
import os
image_path = r"./flower_photo"
if os.path.isdir(image_path):# img_infos = os.listdir(image_path)# print(img_infos)img_infos_raw = os.listdir(image_path)# print(img_infos_raw)img_infos = [x for x in img_infos_raw if x.endswith('.jpg')]img_infos = sorted(img_infos) # 排序# print(img_infos)title = [i.split('.')[0] for i in img_infos]# print(title)
# ['logo.png', 'logo的副本.png']
# ['logo', 'logo的副本']# code2:图片指定区域涂色
# 参考:https://blog.csdn.net/baldo/article/details/124114423
import cv2
for i in range(len(img_infos)):#打开图片img = cv2.imread(os.path.join('./flower_photo/',img_infos[i]))#img(指定区域) = (RGB色)# (4640, 3472, 3)h = 38 + 500 w = 3472 - 58 img[38:h, 58:w] = (255,255,255)#save figurecv2.imwrite(os.path.join('./flower_photo_add_background/',img_infos[i]), img)   # code3-在图片上添加文字
# 参考:https://blog.csdn.net/qq_42257666/article/details/122135600
# Mac下查找支持的字体 https://blog.csdn.net/weixin_47728768/article/details/115054531from PIL import Image, ImageDraw, ImageFont
# import matplotlib.pyplot as pltfor i in range(len(img_infos)):#打开图片img = Image.open(os.path.join('./flower_photo_add_background/',img_infos[i]))draw = ImageDraw.Draw(img)#设置字体和大小font_path = os.path.join("assets", "Hiragino Sans GB.ttc")myfont = ImageFont.truetype(font_path, size=400, encoding='utf-8')    fillcolor = "black" #设置字体颜色#CC3299粉色#读取图片的size,也就是宽度和高度 width, height = img.size#在(30,30)的位置开始写draw.text((60,60), title[i], font=myfont, fill=fillcolor)#保存图片img.save(os.path.join('./flower_photo_add_title/',img_infos[i]))#显示图片# plt.imshow(img)# plt.show()# code4-将多张图片合并为1张
# 参考:https://blog.csdn.net/qq_40502460/article/details/120176473
# opencv,cv2:https://blog.csdn.net/fuhanghang/article/details/121260534
# import cv2
import numpy as np
import math
for i in range(int(len(title)/9)):img_list = []for j in range(9):img_path = os.path.join('./flower_photo_add_title/', img_infos[i*9+j])img = cv2.imread(img_path)h = math.floor(img.shape[0]/3)w = math.floor(img.shape[1]/3)img = cv2.resize(img, (w, h))img_list.append(img)# img0~img8# np.vstack():在竖直方向上堆叠# np.hstack():在水平方向上平铺mid1 = np.hstack((img_list[0], img_list[1], img_list[2]))mid2 = np.hstack((img_list[3], img_list[4], img_list[5]))mid3 = np.hstack((img_list[6], img_list[7], img_list[8]))img_result = np.vstack((mid1, mid2, mid3))out_path = os.path.join('./flower_photo_merge/', img_infos[i*9])cv2.imwrite(out_path, img_result)

python在生活中的应用-制作图片九宫格相关推荐

  1. Python第三方库巧用,制作图片验证码只需三行代码

    现在验证码的种类真的是越来越多,短信验证码.语音验证码.图片验证码.滑块验证码 - 我们在 PC 的网页端或者手机上的 app 进行登录或者注册时,应该总会遇见图片验证码,比如下面这类: 上面这些图片 ...

  2. iphone iPhone开发中如何将制作图片放大缩小代码实现案例

    1:原文摘自:http://mobile.51cto.com/iphone-285108.htm iPhone开发中如何将制作图片放大缩小案例是本文要介绍的内容,主要是来学习iphone开发中动画的制 ...

  3. python下载博文中微博图床图片

    python下载博文中微博图床图片 前言 昨天突然发现博客中的许多图片都挂了(会尽neng快tuo修jiu复tuo),今天看了下,发现很多人都挂了,嗯没错就是新浪搞的鬼了,目前是对referrer进行 ...

  4. Python 获得pdf中的文字、图片文字方法

    Python 获得pdf中的文字.图片文字方法 下载word版文件 OCR,全称Optical character recognition,中文译名叫做光学文字识别.它把图像中的字符,转换为机器编码的 ...

  5. Python提取PDF中的文字和图片

    一,使用Python提取PDF中的文字 # 只能处理包含文本的PDF文件 #coding=utf-8 import sys import importlib importlib.reload(sys) ...

  6. python提取pdf中的文字和图片_Python操作PDF-文本和图片提取(使用PyPDF2和PyMuPDF)...

    PDF文件格式 如今,可移植文档格式(PDF)属于最常用的数据格式.在1990年,PDF文档的结构由Adobe定义.PDF格式的思想是,对于通信过程中涉及的双方(创建者,作者或发送者以及接收者)而言, ...

  7. Python可以做什么?你所不知道的Python——生活中的奇妙用途

    大家都知道Python可以用来做数据分析.爬虫,甚至是人工智能,但却觉得那些东西比较遥远,会担心孩子学Python为时过早. Python 其实Python并不只是能做一些很专业.高端的应用,它在生活 ...

  8. 开课吧的python的证书_Python在生活中的几个实用场景,简直太厉害了

    如今Python已经成为不少职场人心中的必备技能,他们掌握Python的一些使用方法后,在工作中不仅提高了效率,还获得了老板的嘉奖,可以说是两全其美. 但有的人觉得学习Python只能为工作带来一些便 ...

  9. python能在生活中做什么-Python能在生活中做什么

    很多人学习Python就是为了在人工智能.大数据等领域谋求一份高薪工作,Python其实很接地气,我们如果学习了Python而不把它作为一种谋生手段也可以在生活中解决很多问题,那么Python能在生活 ...

最新文章

  1. 电脑任务管理器_安国戴尔电脑显示器维修,服务至上
  2. 无缝融合 ZStack与阿里云联手布局混合云市场
  3. yarn资源调度(网络搜集)
  4. 【网址收藏】本地VSCode编辑远程服务器文件:Remote SSH
  5. Django静态文件小结
  6. linux7为nginx添加服务,CentOS7添加Nginx为系统服务
  7. iOS 开发一定要尝试的 Texture(ASDK) 1
  8. A. Arithmetic Array Codeforces Round #726 (Div. 2)
  9. 0.00...1是个什么数?
  10. 2015年创业中遇到的技术问题:21-30
  11. 46. 考虑使用函数对象而不是函数作为STL算法的参数
  12. Intellij IDEA快捷键大全(超详细)
  13. Extracting Multiple-Relations in One-Pass with Pre-Trained Transformers [论文研读]
  14. pandas统计表格中politics列字符个数
  15. 戴尔win10开机后,在桌面点右键一直转圈,但任务栏又能正常点击
  16. 数据库设计1-数据库设计简述
  17. Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程
  18. Android智能电视应用程序开发浅谈(三)
  19. OrCAD导入元件原理图符号流程
  20. 源码编译ncurses出错

热门文章

  1. 火狐 脱机文件位置不能更改_如何更改Firefox下载文件夹的位置
  2. 国际短信的使用场景有哪些?
  3. 纯CSS绘制形状(三角形、菱形、球体,长方体等等
  4. 学好设计模式的思维导图
  5. phpcms 开启在线编辑模板
  6. 各类分布式文件系统的区别和概述 | HDFS、GFS、Ceph、TFS、Moosefs、IPFS等
  7. 全国计算机王牌专业的一本大学,最值得报考的22所“普通一本”大学,王牌专业比985大学还牛!...
  8. 沧正压力传感器/压力变送器的分类与选型
  9. 传统制作 VS AI制作,如何一键制作PPT ?
  10. 迈克尔·杰克逊的离开对互联网的影响