python在生活中的应用-制作图片九宫格
目的:批量将多张植物照片加上植物名字后拼接成多张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在生活中的应用-制作图片九宫格相关推荐
- Python第三方库巧用,制作图片验证码只需三行代码
现在验证码的种类真的是越来越多,短信验证码.语音验证码.图片验证码.滑块验证码 - 我们在 PC 的网页端或者手机上的 app 进行登录或者注册时,应该总会遇见图片验证码,比如下面这类: 上面这些图片 ...
- iphone iPhone开发中如何将制作图片放大缩小代码实现案例
1:原文摘自:http://mobile.51cto.com/iphone-285108.htm iPhone开发中如何将制作图片放大缩小案例是本文要介绍的内容,主要是来学习iphone开发中动画的制 ...
- python下载博文中微博图床图片
python下载博文中微博图床图片 前言 昨天突然发现博客中的许多图片都挂了(会尽neng快tuo修jiu复tuo),今天看了下,发现很多人都挂了,嗯没错就是新浪搞的鬼了,目前是对referrer进行 ...
- Python 获得pdf中的文字、图片文字方法
Python 获得pdf中的文字.图片文字方法 下载word版文件 OCR,全称Optical character recognition,中文译名叫做光学文字识别.它把图像中的字符,转换为机器编码的 ...
- Python提取PDF中的文字和图片
一,使用Python提取PDF中的文字 # 只能处理包含文本的PDF文件 #coding=utf-8 import sys import importlib importlib.reload(sys) ...
- python提取pdf中的文字和图片_Python操作PDF-文本和图片提取(使用PyPDF2和PyMuPDF)...
PDF文件格式 如今,可移植文档格式(PDF)属于最常用的数据格式.在1990年,PDF文档的结构由Adobe定义.PDF格式的思想是,对于通信过程中涉及的双方(创建者,作者或发送者以及接收者)而言, ...
- Python可以做什么?你所不知道的Python——生活中的奇妙用途
大家都知道Python可以用来做数据分析.爬虫,甚至是人工智能,但却觉得那些东西比较遥远,会担心孩子学Python为时过早. Python 其实Python并不只是能做一些很专业.高端的应用,它在生活 ...
- 开课吧的python的证书_Python在生活中的几个实用场景,简直太厉害了
如今Python已经成为不少职场人心中的必备技能,他们掌握Python的一些使用方法后,在工作中不仅提高了效率,还获得了老板的嘉奖,可以说是两全其美. 但有的人觉得学习Python只能为工作带来一些便 ...
- python能在生活中做什么-Python能在生活中做什么
很多人学习Python就是为了在人工智能.大数据等领域谋求一份高薪工作,Python其实很接地气,我们如果学习了Python而不把它作为一种谋生手段也可以在生活中解决很多问题,那么Python能在生活 ...
最新文章
- 电脑任务管理器_安国戴尔电脑显示器维修,服务至上
- 无缝融合 ZStack与阿里云联手布局混合云市场
- yarn资源调度(网络搜集)
- 【网址收藏】本地VSCode编辑远程服务器文件:Remote SSH
- Django静态文件小结
- linux7为nginx添加服务,CentOS7添加Nginx为系统服务
- iOS 开发一定要尝试的 Texture(ASDK) 1
- A. Arithmetic Array Codeforces Round #726 (Div. 2)
- 0.00...1是个什么数?
- 2015年创业中遇到的技术问题:21-30
- 46. 考虑使用函数对象而不是函数作为STL算法的参数
- Intellij IDEA快捷键大全(超详细)
- Extracting Multiple-Relations in One-Pass with Pre-Trained Transformers [论文研读]
- pandas统计表格中politics列字符个数
- 戴尔win10开机后,在桌面点右键一直转圈,但任务栏又能正常点击
- 数据库设计1-数据库设计简述
- Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程
- Android智能电视应用程序开发浅谈(三)
- OrCAD导入元件原理图符号流程
- 源码编译ncurses出错
热门文章
- 火狐 脱机文件位置不能更改_如何更改Firefox下载文件夹的位置
- 国际短信的使用场景有哪些?
- 纯CSS绘制形状(三角形、菱形、球体,长方体等等
- 学好设计模式的思维导图
- phpcms 开启在线编辑模板
- 各类分布式文件系统的区别和概述 | HDFS、GFS、Ceph、TFS、Moosefs、IPFS等
- 全国计算机王牌专业的一本大学,最值得报考的22所“普通一本”大学,王牌专业比985大学还牛!...
- 沧正压力传感器/压力变送器的分类与选型
- 传统制作 VS AI制作,如何一键制作PPT ?
- 迈克尔·杰克逊的离开对互联网的影响